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