DiskCache非图像文件没有检查目录

时间:2014-10-30 03:46:48

标签: imageresizer

我正在使用ImageResizer来动态调整个人资料图片的大小(由用户上传)。配置文件图片以文件名为ID,没有扩展名存储。它们也位于包含用户上载的其他文件的目录中,这些文件可能不是图像。我使用类似的东西在我的cshtml文件中引用该文件:



<img src="//localhost:34754/8FF479AC7724A82A001603EF1566A7EFD852D35561BC2E14B1A01D99CEC035C7F265A3FF7F2642098DD2999217EC7A94?width=100" />
&#13;
&#13;
&#13;

我希望ImageResizer知道不要忽略此请求,即使它没有图像扩展名。我找到了这个页面:http://imageresizing.net/docs/howto/cache-non-images

这描述了如何解决类似于我的问题,除了它需要指定一个目录。但我不希望ImageResizer处理来自此目录的所有请求,因为那里也存储了非图像。有没有其他方法我可以告诉ImageResizer不要忽略URL?也许通过在查询字符串中添加一些内容?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

示例事件处理程序使用目录和文件扩展名作为示例;您可以随意使用查询字符串或任何其他类型的指示符;这只是一个例子。

Config.Current.Pipeline.PostAuthorizeRequestStart += delegate(IHttpModule sender2, HttpContext context) {
  var query = Config.Current.Pipeline.ModifiedQueryString;

  if (query["flag"] != "true") return;

  Config.Current.Pipeline.SkipFileTypeCheck = true; //Skip the file extension check. 

  //Non-images will be served as-is
  //Cache all file types, whether they are processed or not.
  Config.Current.Pipeline.ModifiedQueryString["cache"] = ServerCacheMode.Always.ToString();
};