这与其他问题密切相关,但我的具体问题是为什么这两种情况会产生不同的行为。
FilePathResult
使用 MIME 类型参数...public FilePathResult PlainLogoSvg() { return File(Server.MapPath("~/Art/LogoPlain.svg"), "image/svg+xml"); }
这在视图中
<object class="centeredLogo" > <embed class="centeredLogo" src="@Url.Action("PlainLogoSvg")"/> </object>
在 Chrome 和 FF 上生成嵌入图像。
具有 src 和类型的对象或嵌入元素(任何组合/排列)(此 MIME 类型在 IIS 7.5 上默认配置)...
<object class="centeredLogo" src="@Server.MapPath("~/Art/LogoPlain.svg")" type="image/svg+xml" > <embed class="centeredLogo" src="@Server.MapPath("~/Art/LogoPlain.svg")" type="image/svg+xml"/> </object>
打破 Chrome 和 FF(FF 为插件而哭泣)。使用
Url.Content
Firefox 修复它。