Phi*_*mid 10 html5 svg google-chrome mime-types
我有一个SharePoint网页,它引用存储在 img标记内的SharePoint列表的RootFolder中的SVG文件:
<img src='http://localhost/Lists/MyList/1/1.svg' type='image/svg+xml' />
Run Code Online (Sandbox Code Playgroud)
图像在桌面上以及iOS设备(Safari)上的IE9中正确呈现.但是,在Windows上的Chrome中(我目前使用的是v14)无法显示.它改为渲染破碎的图像图标.
Chrome中的网络选项卡显示文件1.svg是作为application/octet-stream下载的(因此渲染不正确).我需要更改什么才能让Chrome正确识别MIME类型(如标记中所指定)?它可能是Chrome中的一个错误(正如这个SO答案所示)?如果是这样,是否有办法以另一种方式加载SVG文件(例如,嵌入标签)?
请注意,IE的调试器(F12)正确地将类型标识为image/svg + xml,因此会按预期呈现图像.
编辑:由于它似乎是一个服务器端问题(感谢@robertc)我添加了这样一个事实,即该文件由SharePoint提供,怀疑SharePoint可能无法识别MIME类型.
没有属性type上的img元素,你需要正确设置MIME类型的服务器上.我认为它只适用于IE,因为它正在进行内容嗅探.
在IIS7及更高版本上,您可以web.config在以下system.webServer部分的文件中指定MIME类型映射:
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>
Run Code Online (Sandbox Code Playgroud)
之后它应该适用于所有浏览器,但您可能需要强制刷新(Ctrl + F5)才能让它们再次请求文件.
| 归档时间: |
|
| 查看次数: |
18965 次 |
| 最近记录: |