Chrome浏览器没有以图片/ svg + xml格式加载SVG文件

我有一个SharePoint网页,它引用存储在 img标记内的SharePoint列表的RootFolder中的SVG文件

<img src='http://localhost/Lists/MyList/1/1.svg' type='image/svg+xml' />

图像在桌面以及iOS设备(Safari)上的IE9中正确呈现。 但是,在Windows上的Chrome(我目前正在使用v14)无法显示。 它反而呈现破碎的图像图标。

Chrome中的网络标签显示文件1.svg 作为application / octet-stream下载 (因此不正确的渲染)。 我需要更改哪些内容才能使Chrome正确识别MIME类型 (如标签中所述)? 它可能是Chrome中的错误(正如此答案中所建议的)? 如果是这样,是否有解决方法以另一种方式加载SVG文件(例如,可能嵌入标签)?

请注意,IE的调试器(F12)正确地将类型标识为image / svg + xml,并因此按预期显示图像。

编辑:由于它似乎是一个服务器端问题(谢谢@robertc)我已经添加了文件由SharePoint提供的事实,怀疑SharePoint可能无法识别MIME类型。


img元素上没有属性type ,您需要在服务器上正确设置MIME类型。 我认为它只适用于IE,因为它正在进行内容嗅探。

在IIS7及以上版本中,您可以在system.webServer部分的web.config文件中指定MIME类型映射:

<staticContent>
  <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>

之后,它应该可以在所有浏览器中运行,但您可能需要执行强制刷新(Ctrl + F5)以使它们再次请求文件。

链接地址: http://www.djcxy.com/p/47039.html

上一篇: Chrome is not loading SVG File as image/svg+xml

下一篇: Safari embeded SVG doctype