不让html缓存图片吗,html – 如何强制Web浏览器不缓存图像

背景

我正在为两个无偿网站编写和使用一个非常简单的基于CGI(Perl)的内容管理工具。它为网站管理员提供用于填充字段(日期,地点,标题,描述,链接等)并保存的事件的HTML表单。在该表单上,我允许管理员上传与活动相关的图片。在显示表单的HTML页面上,我还显示了上传的图片(HTML img标签)的预览。

问题

当管理员要更改图片时,会出现此问题。他只需要打“浏览”按钮,选择一个新的图片,然后按确定。这工作正常。

一旦图像上传,我的后端CGI处理上传并正确地重新加载表单。

问题是显示的图像不刷新。即使数据库保存了正确的图像,仍会显示旧的图像。我已经把它缩小到在网络浏​​览器中的图像被缓存的事实。如果管理员点击Firefox / Explorer / Safari中的RELOAD按钮,所有内容都会被刷新,新的图像就会出现。

我的解决方案 – 不工作

我试图控制缓存通过写一个HTTP Expires指令的日期非常远的过去。

Expires: Mon, 15 Sep 2003 1:00:00 GMT

记住,我在行政方面,我不在乎,如果这些页面需要更长的时间加载,因为它们总是过期。

但是,这也不工作。

笔记

上传图像时,其文件名不保存在数据库中。它被重命名为Image.jpg(简单地说,当使用它时)。当使用新图像替换现有图像时,名称也不会更改。只是图像文件的内容更改。

网络服务器由主机服务/ ISP提供。它使用Apache。

有没有办法强制Web浏览器不缓存的东西从这个网页,甚至图像?

我正在玩的选项实际上“保存文件名”与数据库。这样,如果图像改变,IMG标签的src也将改变。然而,这需要在整个网站的很多变化,我宁愿不这样做,如果我有一个更好的解决方案。此外,如果上传的新图片具有相同的名称(例如,图片被photoshop了一点并重新上传),这仍然不会工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值