图片在浏览器的缓存更新问题

功能:图片上传功能,后端返回图片的url,前端回显。
后端处理逻辑:根据图片上传的编号或者名字来确定上传oss的路径,所以一个用户只有一张图片,同名覆盖。
现象:当更换图片的时候,浏览器必须刷新缓存后,才能显示最新上传的图片。否则就是实际前端得到的URL在数据库中是对的,重新打开一个窗口显示也是对的,但就是在当前页面还是显示上一张图片。
问题:浏览器的图片缓存的id就是图片的URL,由于URL没有发生变化,所以浏览器并没有更新缓存
处理:在前端接收到图片后,或者后端传图片传出来之前,对URL做处理。因为是上传的oss服务器,所以实际就是访问URL。可以在URL后面加参数。如:http://qwe.asd.com/rty/fg/.png?noce=123。只要后面的参数是个变动的值就行,这样浏览器每次存的时候就是存的新的缓存。所以最直接的方式就是加时间戳。这样每次上传后,当需要回显图片的时候,URL后面跟了时间戳参数,浏览器缓存的时候就是新的id。

你可能感兴趣的:(图片在浏览器的缓存更新问题)