如何在不按F5的情况下使缓存图像到期?

Rom*_*ych 10 html c# asp.net-mvc

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

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

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

Ask*_*ica 7

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

<img src="...\avatar.jpg?d=7615833">
Run Code Online (Sandbox Code Playgroud)

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

  • 也许使用文件的更改日期或其内容的哈希值. (3认同)