2011-05-12 105 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