Visual Studio不显示SVG图像作为背景

时间:2011-12-20 12:50:47

标签: visual-studio-2010 html5 svg

我有一个带有html文件(Html 5)的asp.net项目。我正在尝试使用CSS 3将SVG设置为我的身体标签的背景。我有这样的文件。

enter image description here

在我的Style.css。

enter image description here

当我双击并打开html文件时。我可以看到身体充满了SVG,但是当我使用VS 2010进行调试时,这不起作用。

这是我使用vs 2010调试html时得到的结果。

enter image description here

我在这里错过了什么?如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

我的解决方法是在本地创建我自己的httphandler,它覆盖了svg的内容类型。

public class SvgHandler : IHttpHandler
{

    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "image/svg+xml";
        context.Response.BinaryWrite(File.ReadAllBytes(context.Request.PhysicalPath));
        context.Response.End();
    }
}

并在web.config中添加:

<httpHandlers>
  <add verb="*" path="*.svg" type="SvgHandler" />
</httpHandlers>

使用此解决方案,您不必使用IIS express,您可以在Visual Studio 2010中使用常规开发服务器

答案 1 :(得分:5)

内置的Visual Studio Web服务器只能提供一组有限的mime类型。 SVG不是其中之一。

请看这里的简明回答: https://serverfault.com/questions/359904/how-to-configure-iis-for-svg-and-web-testing-with-visual-studio