Asp.net 尝试以各种可能的方式嵌入SVG对象,但在呈现html时浏览器会提示保存文件
已经尝试了W3学校列出的所有嵌入方法,然后还有更多。即使提供了宽度和高度,浏览器也会显示不正确的大小,chrome和firefox只会提示下载。使用VisualStudio2010内置的开发服务器,可能需要添加mime类型以获得支持,但不知道该添加到何处 SVG文件位于我的内容文件夹中,我正在视图中创建html,其中ImageFileName为“filename.SVG”:Asp.net 尝试以各种可能的方式嵌入SVG对象,但在呈现html时浏览器会提示保存文件,asp.net,asp.net-mvc-3,html,svg,Asp.net,Asp.net Mvc 3,Html,Svg,已经尝试了W3学校列出的所有嵌入方法,然后还有更多。即使提供了宽度和高度,浏览器也会显示不正确的大小,chrome和firefox只会提示下载。使用VisualStudio2010内置的开发服务器,可能需要添加mime类型以获得支持,但不知道该添加到何处 SVG文件位于我的内容文件夹中,我正在视图中创建html,其中ImageFileName为“filename.SVG”: 或 SVG支持已从添加到Internet Explorer。你一定是在试用旧版本的IE。你用Firefox和Googl
或
SVG支持已从添加到Internet Explorer。你一定是在试用旧版本的IE。你用Firefox和Google Chrome试用过相同的页面吗 编辑:
您也可以使用这个名为的库。显然,该库还支持IE6、7和8呈现SVG。他们也有一些非常好的演示。快速入门指南是。您是否使用本地服务器程序(例如小型Python HTTP服务器)加载页面?如果是这样,您需要确保它能够识别MIME类型。即使浏览器支持SVG,如果服务器没有返回正确的MIME类型,浏览器也不知道如何处理它并要求您保存。您可以尝试将
直接嵌入HTML。现代浏览器支持它:
@Html.Raw(File.ReadAllText(Server.MapPath("~/content/externalcats/" + RootCat.ImageFileName)))
或者为SVG提供正确的MIME类型(image/SVG+xml
):
然后:
<object data="@Url.Action("svg")" type="image/svg+xml">
<embed src="@Url.Action("svg")" type="image/svg+xml"/>
</object>
使用IE9和最新的Chrome和FireFox。Internet explorer是唯一一个显示图像的浏览器,尽管大小调整不当,其他浏览器只是提示下载svg文件。是的,这就是我所想的,服务器没有返回具有正确标题的数据是错误的。我正在使用内置IIS7的Visual Studio 2010,不确定在哪里更改这些选项。老实说,我甚至不知道Visual Studio有自己的服务器,所以我对它一无所知,但快速的谷歌搜索会让我想到:也许这可以帮到你
@Html.Raw(File.ReadAllText(Server.MapPath("~/content/externalcats/" + RootCat.ImageFileName)))
public ActionResult Svg()
{
return File(Server.MapPath("~/content/test.svg"), "image/svg+xml");
}
<object data="@Url.Action("svg")" type="image/svg+xml">
<embed src="@Url.Action("svg")" type="image/svg+xml"/>
</object>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>