Chrome无法从本地文件呈现SVGZ,但会从服务器呈现SVGZ

时间:2016-10-05 12:51:27

标签: google-chrome svg

我使用Chrome从服务器保存了一个完整的HTML页面。

当我在Chrome中再次加载本地文件时,SVGZ图像无法渲染,而是显示损坏的图像图标。

  • 仔细检查文件并从原始服务器再次加载,我发现SVGZ加载得很好

  • 如果我自己只加载本地图像文件,系统会提示我保存图像

  • 如果我将本地图像文件扩展名编辑为.SVG,并自行加载,则渲染得很好

  • 如果我编辑HTML文件以引用带有.SVG扩展名的重命名文件,那么整个页面和图像都会正确加载

我知道这不是一个严格的编程问题,但在进行大量搜索时,我在StackOverflow上找到了比AskUbuntu更为密切相关的答案。

这个答案提供了迄今为止我发现的最佳线索:

Chrome not rendering SVG referenced via <img> tag

  

我来到这里是因为我有类似的问题,图像不存在   渲染。我发现的是我的内容类型标题   测试服务器不正确。我通过添加以下内容来修复它   我的.htaccess文件:

AddType image/svg+xml svg svgz
AddEncoding gzip svgz

所以我猜测问题出在哪里:

  • 从服务器加载时,正确指定了内容类型
  • 从我的本地文件加载时,未正确指定内容类型

有什么方法可以解决这个问题吗?

我可以通过更改Chrome设置来“模仿”.htaccess mime类型和编码吗?

感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我创建了一个带有<img>的测试HTML文件,用于加载.svgz文件。它工作得很好(Win7上的Chrome)。

检查您的.svgz文件实际上是一个gzip压缩文件,而不是其他内容。例如,我怀疑它实际上是一个普通的SVG文件但是有一个&#34; .svgz&#34;延期。这将以你描述的方式失败。