七牛上的图片使用版本号后缀, 老版本图片就能自动被覆盖吗?
程序员文章站
2022-05-13 12:53:40
...
比如用户的头像, 第一次上传的原始图片为jpg?v=1 然后自动在CDN中缓存了
然后用户更新头像, 第二次上传的图片为jpg?v=2 因为后缀不同,所以刷新后头像就显示成新图片了
这个时候jpg?v=1这个URL在浏览器中仍然显示为旧图片, 但几天之后,这个URL也自动变成了jpg?v=2的新图片
请问这是七牛默认的功能吗? 还是要自己写什么代码? 如何能让旧版本的图片自动显示为最新版本的呢?
回复内容:
比如用户的头像, 第一次上传的原始图片为jpg?v=1 然后自动在CDN中缓存了
然后用户更新头像, 第二次上传的图片为jpg?v=2 因为后缀不同,所以刷新后头像就显示成新图片了
这个时候jpg?v=1这个URL在浏览器中仍然显示为旧图片, 但几天之后,这个URL也自动变成了jpg?v=2的新图片
请问这是七牛默认的功能吗? 还是要自己写什么代码? 如何能让旧版本的图片自动显示为最新版本的呢?
这是CDN的缓存机制。
同名文件内容做修改或者被覆盖后,CDN会持续缓存一段时间旧文件。
可以通过
http://qiniucdn/wenjianming?v=123 这样加版本号参数来刷新缓存,访问最新的资源。
24小时后,这个文件的缓存自动刷新,就能访问到最新的文件:
http://qiniucdn/wenjianming
如果想访问最新的文件,还是给链接的后面加上版本号参数比较好。
下一篇: String源码的实例解读