首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >清除一个图像的缓存

清除一个图像的缓存
EN

Stack Overflow用户
提问于 2013-01-07 22:00:35
回答 4查看 5.3K关注 0票数 2

考虑一下最小的例子:使用php,我有一个输入文本的表单,它会生成文本的图像。然后,当我更改文本并更新时,我看不到新的图像,因为我假设它被缓存了。当我更新它的时候,有什么方法可以自动从缓存中删除这个图像文件吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-07 22:04:34

这通常是通过向查询添加随机字符串或时间戳来处理的。

<img src="/images/image.jpg?timestamp=1357571065" />

票数 8
EN

Stack Overflow用户

发布于 2013-01-07 22:08:31

典型的解决方案是ceejazoz在这个答案中给出的:添加一个额外的时间戳作为请求参数。这样一来,每次的url都是不同的,所以不需要缓存或代理来传递缓存的版本。

然而,尽管这是可行的,但它是一个丑陋的变通方法。

干净的解决方案是在传递图像时指定头部。这些头文件会注意图像不会被缓存。这就是头的作用:定义资源的使用方式。缺点:用于传送静态图像的今天的http服务器的开箱即用配置不提供指定这样的头。因为在99,99%的情况下,这是没有意义的。因此,您必须编写自己的机制。并不是真的很难,但还是很努力。使用上面的变通方法当然更容易,麻烦也更少。

准确地回答你的实际问题:从单个缓存对象中清除缓存通常是不可能的。尽管这实际上取决于你所说的缓存。如果你正在开发(测试)的时候只是浏览器缓存,那么只需要进行一次“深度重新加载”(类似于CTRL-SHIFT-R或CTRL-F5,取决于你的浏览器)。但这会清除当前页面的所有缓存对象。没有简单的方法来清除服务器端缓存,甚至是中间的代理。

票数 1
EN

Stack Overflow用户

发布于 2013-01-07 22:06:08

向图像添加一个查询字符串,可能包含儒略时间+一个随机数,例如,您的图像URL将变为: //.../myimage.jpg?112233445566-954967254

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14197493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档