2010-09-14 51 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是无损的(未压缩数据=原始)。