11

我正在尝试在 web.config 中完成此操作:

<staticContent>
  <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
<httpCompression>
    <staticTypes>
        <add mimeType="image/svg+xml" enabled="true"/>
    </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>

Content-Encoding: gzip永远不会出现在响应标头中。不过,压缩对于 CSS 等其他类型也很有效。

4

5 回答 5

5

@Dominique Alexandre 指出了一个解决方案,该解决方案显示了如何编辑 applicationHost.config 文件,它工作得很好。

我只是想添加如何使用 IIS 管理器 GUI 执行此操作。

转到 IIS 管理器 > YOUR_SERVER > 在管理部分 > 配置编辑器 > 展开 system.webServer > httpCompression > dynamicTypes

然后添加您想要额外压缩的 mime 类型。

于 2017-10-10T12:27:12.933 回答
3

您需要在 IIS 中将其作为较低级别的 SVG 打开。这篇文章有答案:https ://stackoverflow.com/a/23940235/15233

于 2015-04-27T15:36:36.030 回答
1

在我的情况下,image/svg+xml它已经被列为 mime 类型,<staticTypes>但它仍然无法正常工作。一时兴起,我还添加了 mime 类型<dynamicTypes>并解决了问题。

于 2017-10-24T14:21:05.823 回答
0

改变mime-type真的不好。

请参阅这篇文章,了解如何实现一个自定义的 httpmodule,它会在几行代码中为您执行 gzipping。

http://laubplusco.net/gzip-svg-files-asp-net/

于 2014-09-03T12:48:56.000 回答
-2

不相关,请参阅 Dominique Alexandre 解决方案

好吧,没有人有答案。所以我会在这里发布我的临时解决方法。

我将 mime 类型更改为 text/xml,所以它被 IIS GZipped:

<mimeMap fileExtension=".svg" mimeType="text/xml" />
于 2013-05-11T15:31:51.637 回答