处理缓存的图像?如何让浏览器显示新版本?

时间:2012-02-13 19:34:27

标签: asp.net asp.net-mvc image browser

您好,

当加载带有图像的网页(img_01.jpg)时,浏览器将缓存图像。假设我们更新img_01.jpg并使用相同的名称保存它,当访问同一页面时,旧图像将从缓存中显示。

我应该如何在ASP.NET MVC中处理它?<​​/ p>

我知道在常规ASP.NET(没有MVC)中必须创建一个额外的组件,这个组件会在文件名的末尾添加一个随机数。我如何在ASP.NET MVC中执行此操作?

BestRegards

3 个答案:

答案 0 :(得分:1)

您可以使用HTTP handlers for images添加过期标头。但是,如果正确使用过期标头,则主要取决于浏览器。这有帮助吗?

答案 1 :(得分:0)

我决定在图片文件名中使用主要对象版本号,这将确保最终用户始终能够看到正确的图像。

答案 2 :(得分:0)

在C#中绑定图像控件时只需将url作为查询字符串。 例如: -

string  _urlPhoto = "UploadPhoto" + "/" + Imagename + "?" + Guid.NewGuid().ToString();

浏览器将始终将其视为新请求,并且不会从CACHE中获取图像。