我正在使用MVC 4创建一个网站。对于项目要求,图像存储在数据库中。我有一个视图,我绑定模型,其中我有故事附带的图片的ID,然后我得到图像:
查看:
<img src='<%= Url.Action("ShowImagen", "Home", new {id = item.IdImagen}) %>' style="width: 300px;
height: 200px;" />
控制器:
public FileResult ShowImagen(int id)
{
if (id > 0)
{
var imageData = new NoticiaRepository().GetImagen(id);
return File(imageData, "image/jpg");
}
else
{
return null;
}
}
有了这个并用Chrome检查,我注意到当我重新加载页面时,它不会从缓存中加载图像,就像其他文件一样.css或从文件系统加载的其他图像。
有没有办法让这些图像被缓存? 问候和感谢。
答案 0 :(得分:15)
您可以使用[OutputCache]
属性修饰ShowImagen
控制器操作:
[OutputCache(Duration = 3600, Location = OutputCacheLocation.Client, VaryByParam = "id")]
public ActionResult ShowImagen(int id)
{
...
}
答案 1 :(得分:0)
您是否尝试使用OutputCache
属性修改操作方法?