从OutputCache中删除单个图像?

时间:2014-05-07 16:17:32

标签: c# asp.net-mvc

我有一个ImageController类被调用来从数据库中检索图像。结果通过使用属性[OutputCache]。

存储在缓存中

这是控制器:

[OutputCache(Duration=3600,VaryByParam="name")]
public ActionResult Show(string name)
{
   var imageByte = retrieveByteFromDatabase(name);
   if(imageByte != null && imageByte.Length > 0) 
   {
       return File(imageByte, "image/png");
   }
}

然后在视图中,它就像这样访问:

<img class="image" src="@Url.Action( "show", "image", new { name = "Image.png" })" />

现在,这是用户上传到数据库的图像,需要在上传其他图像时从缓存中删除。它上传了这个:

[HttpPost]
public ActionResult UploadImage(HttpPostedFileBase file)
{
   uploadToDatabase(file);
   return RedirectToAction("Index", "Home");
}

与视图......

@using (Html.BeginForm("UploadImage", "Image", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
   <input type="file" name="logo" />
   <button class="button" type="submit">Upload</button>
}

上传新图片后,是否可以从缓存中删除这一张图片?如果是这样 - 怎么样?

谢谢!

0 个答案:

没有答案