2011-05-12 69 views
9

我在将SVG文件设置为MVC 3网站(Razor View Engine)中元素的背景时遇到了一些麻烦,并且想知道ASP.Net开发服务器(Cassini?)正在正确地提供SVG文件。ASP.Net开发服务器SVG文件服务于CSS background-image

我的SVG文件位于/img/plus.svg,这里是它的内容

<?xml version="1.0" encoding="utf-8"?> 
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 
    width="25px" height="25px" viewBox="0 0 25 25" enable-background="new 0 0 25 25" xml:space="preserve"> 
<polygon fill="#231F20" points="25,8.621 16.38,8.621 16.38,0 8.621,0 8.621,8.621 0,8.621 0,16.379 8.621,16.379 8.621,25 
    16.38,25 16.38,16.379 25,16.379 "/> 
</svg> 

我使用设置背景的CSS规则是这样的:

.plusIcon { background-image: url(@Url.Content("~/img/plus.svg")); } 

我还添加了这种我的网络.Config <system.webServer><staticContent>部分:

<!-- Proper svg serving. Required for svg webfonts on iPad --> 
<remove fileExtension=".svg"/> 
<remove fileExtension=".svgz"/> 
<mimeMap fileExtension=".svg" mimeType="images/svg+xml" /> 
<mimeMap fileExtension=".svgz" mimeType="images/svg+xml" /> 

当我导航到t他的网址/img/plus.svg该文件正确下载。

这只是一个开发服务器问题,我应该尝试在IIS中吗?

回答

11

原来这只是一个卡西尼,ASP.Net开发服务器问题。当上传到适当的IIS站点时,SVG文件是正确服务

+1

谢谢你 - 我刚碰到同样的问题。保存了几分钟的搜索结果:-) – Dav 2011-06-20 09:31:03

+0

切换您的VS项目以部署到配置中的“本地IIS Web服务器”。但是,除非在''部分有'',否则IE9将不会显示它。 – johntrepreneur 2013-02-05 18:05:04

+0

也很高兴知道如何修复/调整Cassini来渲染SVG。 – johntrepreneur 2013-02-05 18:06:11