我坐在这里使用SVG,我想使用SVGZ对这些文件进行gzip -问题是,当我打开SVGZ文件时会得到这个错误:
此页面包含以下错误:
第1列中的第1行错误:下面的编码错误是页面的呈现,直到第一个错误。
我尝试在不同类型的应用程序中创建相同的svg,并在不同的浏览器甚至服务器上进行尝试。我以前和svgz合作过,在那里我可以把它展示出来,但那是很久以前的事了。
有人知道怎么解决这个问题吗?
发布于 2014-09-24 12:22:53
我发现要确保“图像位置”设置为“

在对SVG设置的保存中嵌入“而不是链接”对我起作用
发布于 2019-01-11 08:59:12
我也面临着同样的问题,经过一番挖掘,我找到了解决办法。我的解决方案是针对IIS的,但在测试期间,我在Apache上发现了相同的行为。
svgz的Mime类型有些错误,因为未压缩的SVG是相同的:
image/svg+xml因此,为了启用在IIS上服务的SVGZ,我必须添加一个重写规则,该规则添加了hedaer
Content-Encoding: gzip这是可行的,但有时浏览器会接收到以前的编码错误。
问题是服务器将svgz视为静态内容,而且由于在站点上启用了“静态压缩”,客户端有时接收原始内容,有时接收压缩(和缓存)内容,而不知道不同之处,因为服务器压缩行为支持gzip内容--编码标头,重写规则总是启用所有时间。
客户端实际上无法理解服务器何时重新压缩内容以及何时不压缩内容。
可能的解决办法是:
的静态压缩,
IIS的第二个解决方案可以启用编辑applicationHost.config:
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<...>
<add mimeType="image/svg+xml" enabled="false" />
</staticTypes>
</httpCompression>希望这能帮到你。
PS:这是我第一篇关于堆栈溢出的文章!
发布于 2011-10-23 14:19:22
从您所提供的信息中很难猜测,但是似乎您发送的是gzip SVG,而没有正确设置内容-Encoding:gzip。这将导致浏览器的XML解析器无法解析内容,因为它不是XML。
https://stackoverflow.com/questions/7864977
复制相似问题