2010-01-18 37 views
1

我想将新图片上传到我的网页,但在浏览器中显示旧图片。当我检入文件夹时,新图像正在保存,但未显示在页面中。我尝试过清爽,但没有帮助。关闭浏览器后仍然如此。我在不同的浏览器中测试过,它仍然是旧图像。我需要帮助,我现在可以做些什么。我使用Ajax的PHP编码上传图片。图片在我的浏览器中不显示

+0

哪个网页?你有我们可以检查的链接吗?如果IE尝试Ctrl + F5,它会完成刷新,看看会发生什么。 – Shoban 2010-01-18 22:06:01

回答

5

我不确定我完全理解你要完成什么,但显然有一些缓存正在进行。如果您上传的图片具有相同的文件名,并且拒绝刷新,或者您不想依赖刷新用户缓存,则一个简单的解决方案是将随机数添加到问号后图像src的结尾。即

<img src="/images/face.png?1234324"> 

...这实际上将使浏览器认为该图像是新的图像(它是),并阻止它企图利用浏览器的缓存。

+0

不错,但不幸的是丑陋。太糟糕的浏览器忽略标准的HTTP头。 – 2010-01-18 22:16:46

0

尝试用不同的名称重命名图片。

3

尝试在浏览器中按Ctrl-F5。这应该强制刷新缓存。

如果您使用脚本生成页面,则可以在图像的输出标头中传递no-cache http标志。标题是:

Cache-control: no-cache 

编辑:我看到你在使用PHP,是否有任何机会,你可以“回声”在一个单独的PHP页面的形象呢?然后你可以使用该行

header("Cache-control: no-cache"); 
0

尝试清除缓存THEN刷新浏览器。尽管服务器上的内容发生更改,但您仍然可能看到缓存的图像。

1

您是否正在使用新文件名更新图片标签的src属性? o.O

+0

是的,从db和d中检索文件名,然后放入src。 例如:src =“<?php echo”/upload/profile/thumb/".$rowdata['id']?> – jbcedge 2010-01-18 22:13:16

相关问题