2012-12-06 50 views
0

我想正確實現調整圖像大小並緩存它的方法。 ATM我有2種方式來實現這一點:調整圖像大小的正確方法

1調整尺寸上飛: - 創建一個包含控制器的位置,寬度和高度 的URL - 如果沒有緩存的版本存在,控制器將創建圖像 - 控制器將用於緩存的版本

2調整大小第一,端菜: - 如果沒有高速緩存版本存在創建的圖像,並返回一個網址,以服務緩存圖像 - 網址(使用定製的HtmlHelper?)將調用一個控制器。該控制器將只提供給定的緩存圖像

您將使用什麼方式實現圖像調整與緩存?上述版本之一或不同的方法?

我喜歡'調整大小,以後服務'的方法最多。因爲你不必在url中使用寬度和高度。但'動態調整大小'的親是你有一個地方的所有圖像處理代碼

+0

總之我的問題是:你會用什麼方式來實現圖像的高速緩存大小調整?上述版本之一或不同的方法? – PcPulsar

回答

1

我同意首先調整大小。事實上,如果你緩存圖片,你將不得不在緩存過期時重新計算。如果您更換圖像會發生什麼?你將不得不處理緩存失效,這可能會非常棘手。最後,您仍然可以使用OutputCache屬性使緩存受益。 我可以看到唯一的缺點是你需要更多的磁盤空間,因爲你將存儲原始和調整大小的圖像。

下面是關於如何調整圖像的完整的文章:http://www.codeproject.com/Articles/191424/Resizing-an-Image-On-The-Fly-using-NET

希望這有助於

+0

Thx我同意你的意見。如果我創建一個手動url,我會得到很多緩存問題。而當我直接調用緩存圖像時,我不必訪問數據庫。 – PcPulsar

0

我會先調整大小,以後再服務的方法,特別是如果您的網站使用CDN進行緩存。你見過Image Resizer for MVC?我正在考慮用這個來解決這個問題。