Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 尝试以各种可能的方式嵌入SVG对象,但在呈现html时浏览器会提示保存文件_Asp.net_Asp.net Mvc 3_Html_Svg - Fatal编程技术网

Asp.net 尝试以各种可能的方式嵌入SVG对象,但在呈现html时浏览器会提示保存文件

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

已经尝试了W3学校列出的所有嵌入方法,然后还有更多。即使提供了宽度和高度,浏览器也会显示不正确的大小,chrome和firefox只会提示下载。使用VisualStudio2010内置的开发服务器,可能需要添加mime类型以获得支持,但不知道该添加到何处

SVG文件位于我的内容文件夹中,我正在视图中创建html,其中ImageFileName为“filename.SVG”:



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>