2010-09-14 52 views
0

我正在運行一個使用IIS6的網站,並且我寫了一個簡單的通用處理程序,它在將圖像url作爲查詢字符串接收時返回較小的圖像。我的問題是服務器將gzip應用於某些文件類型,如.aspx和.ashx。
這使得我的處理程序的響應圖像以較低的質量顯示,因爲它們被壓縮。如何禁用只有一個處理程序的gzip .ashx

我怎樣才能禁用gzip只是這個處理文件,我希望沒有編輯IIS的解決方案。

這可能嗎?

+0

我懷疑還有其他事情正在進行?這些文件將在客戶端解壓縮,因此不應該創建較低質量的圖像。 – klabranche 2010-09-14 23:13:58

+0

那麼是什麼讓這發生?,當我刪除gzip一切看起來不錯。 – 2010-09-14 23:14:49

+0

它必須與您的文件大小的動態性有關... .....我會添加一個答案,可以幫助您選擇性地關閉它以滿足您的需求。 – klabranche 2010-09-14 23:25:00

回答

1

這個SO answer看起來和你的場景幾乎完全一樣。

在答案是this link討論如何做一個基於/關閉壓縮方案的文件夾。

也有this link討論這篇文章的底部附近。

您應該可以通過自己編輯元數據庫或通過adutils.vbs來完成。

0

這爲我工作 - 在ProcessRequest方法:

context.Request.Headers.Remove("Accept-Encoding") 

我認爲這使得IIS認爲客戶端不支持gzip(或其他壓縮方法),因此將未壓縮的響應。

是的 - 這是一個黑客(通常你不應該搞砸請求頭),但它是迄今爲止我見過的最簡單的解決方案。

我個人需要這個,因爲一個簡單的5字符純文本響應Ajax調用最終在GZip「壓縮」後長達124字節。

這回答了這個問題的標題。但是,對於您的圖像場景 - 它確實不應該有任何區別,因爲GZip是無損的(未壓縮數據=原始)。