10

我正在使用 MVC4 和 C# 制作一个 Web 应用程序。

我允许用户为他们的个人资料图片上传图片。此时,我需要以前的个人资料图片过期,以便在浏览器重新加载页面时显示新图片。目前,由于两个图像共享相同的名称,浏览器使用已缓存的先前图像而不是新图像。

如果我强制浏览器使用 F5 重新加载,它会显示新图像。如何确保返回其个人资料页面的用户在不按 F5 的情况下看到新图像而不是浏览器缓存中的图像?

4

2 回答 2

7

您可以在图像文件名的末尾添加一个虚拟参数。例如,

<img src="...\avatar.jpg?d=7615833">

其中数字是随机的或时间戳。它将被忽略,但存在会强制浏览器重新加载图像。

于 2012-11-13T21:52:09.577 回答
2

在服务器上存储图像时,在文件名中添加(静态)位随机文本,并在图像更改时重新生成。这样,浏览器将在图像相同时缓存图像,并在图像更改时重新加载,从而提供所需的行为,而不会增加不必要的页面加载时间。

于 2012-11-13T22:00:01.970 回答