Questions tagged «image-caching»

17
如何强制Web浏览器不缓存图像
背景 我正在为两个公益网站编写和使用一个非常简单的基于CGI的(Perl)内容管理工具。它为网站管理员提供事件的HTML表单,这些表单将填写字段(日期,位置,标题,描述,链接等)并保存。在该表格上,我允许管理员上传与事件相关的图像。在显示表单的HTML页面上,我还显示了上载图片的预览(HTML img标签)。 问题 当管理员想要更改图片时,会发生此问题。他只需要点击“浏览”按钮,选择一张新照片,然后按OK。这很好。 上载图像后,我的后端CGI将处理上载并正确地重新加载表单。 问题是显示的图像没有刷新。即使数据库保存了正确的图像,仍会显示旧图像。我将其范围缩小为在网络浏览器中缓存了图像。如果管理员点击Firefox / Explorer / Safari中的RELOAD按钮,则一切都会刷新,并且会出现新图像。 我的解决方案-不起作用 我试图通过写一个HTTP Expires指令来控制缓存,该指令的日期已经过去了。 Expires: Mon, 15 Sep 2003 1:00:00 GMT 请记住,我在管理方面,我并不在乎页面是否需要花费更长的时间加载,因为它们总是过期的。 但是,这也不起作用。 笔记 上载图像时,其文件名不保留在数据库中。它被重命名为Image.jpg(以简化使用时的处理)。用新图像替换现有图像时,名称也不会更改。只是图像文件的内容会更改。 Web服务器由托管服务/ ISP提供。它使用Apache。 题 有没有一种方法可以强制Web浏览器不缓存该页面中的内容,甚至不缓存图像? 我正在尝试使用数据库来实际“保存文件名”的选项。这样,如果更改了图像,IMG标签的src也将更改。但是,这需要对整个站点进行很多更改,如果我有更好的解决方案,我宁愿不进行更改。另外,如果上传的新图像具有相同的名称,这仍然将不起作用(例如,将图像进行了照片购物并重新上传)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.