当src是一些返回图像的动作时,如何缓存图像?

时间:2010-04-09 09:05:46

标签: asp.net-mvc caching image

有很多关于如何强制浏览器缓存或不缓存任何图像的问题。但是,我面临的情况略有不同。在我的网页的几个地方,我正在使用以下代码来处理图像。

<img title="<%= Html.Encode(Model.title)%>" 
  src="<%= Url.Action(MVC.FrontEnd.Actions.RetrieveImage(Model.SystemId))%>"/>

因此,在生成的HTML中,它就像

<img title="blahblah" src="http://xyz.com/FrontEnd/Actions/RetrieveImage?imageId=X">

X是一个整数。我已经看到,虽然浏览器(IE或Mozilla)默认缓存图像,但它不缓存上述方法生成的图像。

有什么办法可以告诉浏览器缓存上述类型的图片吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

为此,您可以设置响应的Expires和MaxAge标头。为简化起见,您可以创建自定义ActionFilter。

以下是如何实现这一目标的良好指南:ASP.NET MVC Action Filter - Caching and Compression