JAVA WEB文件下载缓存问题及解决方案

本文介绍了一种在web程序中上传文件并由Java后台处理时遇到的文件缓存问题及解决方案。具体包括在前台请求下载时增加时间戳参数避免缓存,以及在Java后台响应头中增加cache-control来禁用缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象

第一次:web程序上传文件A,java后台经过相关的运算后输出 “A_结果” 文件;

第二此:web程序上传文件A(内容与第一次不一样),java后台经过相关的运算后输出 “A_结果” 文件;

发现第二次下载的文件与第一相同,即第二次的文件没有更新。

经排查发现是浏览器缓存的原因。

解决方案

1. 前台请求下载文件时增加时间戳参数,如此避免缓存

elemIF.src = 'url?参数&time="+(new Date()).getTime();

2. java后台通过response输出文件流时,在响应头增加 cache-control 。

response.addHeader("cache-control", "no-cache");

或者

response.addHeader("cache-control", "no-store");

关于 response  的 cacheControl相关知识可去这里学习。

https://blog.youkuaiyun.com/ljfrocky/article/details/123032502

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值