2014-10-30 96 views
0

我正在使用ImageResizer來動態調整配置文件圖片(由用戶上傳)的大小。個人資料圖片的文件名是他們的ID,沒有擴展名。它們也位於包含用戶上傳的其他文件的目錄中,該文件可能不是圖像。我用這樣的引用文件在我CSHTML文件:沒有檢查目錄的DiskCache非映像文件

<img src="//localhost:34754/8FF479AC7724A82A001603EF1566A7EFD852D35561BC2E14B1A01D99CEC035C7F265A3FF7F2642098DD2999217EC7A94?width=100" />

我想ImageResizer知道不要忽略此請求,即使它不具有圖像擴展。我發現這個網頁:http://imageresizing.net/docs/howto/cache-non-images

這裏描述瞭如何解決類似於我的問題,除了它需要指定一個目錄。但我不希望ImageResizer處理來自此目錄的所有請求,因爲此處還存儲了非圖像。有沒有其他方式可以告訴ImageResizer不要忽略URL?也許通過添加一些東西到查詢字符串?謝謝你的幫助。

回答

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(); 
}; 
+0

太棒了,謝謝! – jamebob 2014-11-01 19:31:03