2012-09-08 130 views
25

我试图设置一个“.svg”图像作为背景图像使用CSS,但它不工作。该网址是有效的,并返回200状态代码,并在“.png”图像上工作。svg不能在本地主机上的IIS网络服务器上工作

问题是什么?

+0

什么是您的IIS版本? –

+3

检查您的服务器上允许的Mime类型设置。 –

+0

我认为它的7.5, 当我运行的HTML页作为单个页面,它运行正常.. 问题是当从本地运行 – HasanAboShally

回答

44

你的IIS是最有可能不与SVG配置为内容类型,尝试添加

<staticContent> 
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> 
</staticContent> 

你的web.config的<system.webServer>范围内。

这当然只适用于你的应用程序是svg服务的应用程序。如果svg未包含在您的应用程序中,而是包含在Web服务器的单独目录中,则需要在“mime-types”选项卡中添加相同的映射到您的Web服务器。

+11

如果您将MIME类型添加到应用程序中,最好先删除您首先添加的类型: 如果已在您要部署到的Web服务器上配置了mime类型,则可避免冲突。部署到不同版本的IIS/IISExpress时,这种问题很常见。 – uniquelau

0

在我的情况下,我在<system.webServer>范围内(如Joachim Isaksson提到的)在applicationHost.config文件(通常位于C:\ Windows \ System32 \ inetsrv \ config)中包含所需的所有mime类型。这使得我的所有IIS站点都可以继承相同的MIME类型,并在出现错误时为您提供一个位置来更改它们。 IIS管理器

 Default Site Under IIS Manager

然后 “添加” 的默认设置下您的应用程序/网站 - -

16

试试这个从web.config文件>{ .svg : image/svg+xml }

+1

在IIS 7.5上使用ASP.NET Web应用程序提供本地.SVG文件。谢谢。 – robnick

3

<system.webServer> 
    <staticContent> 
     <remove fileExtension=".svg" /> 
     <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> 
    </staticContent> 
</system.webServer> 

或iis 转至MIME类型并添加 文件扩展名: .svg MIME类型: image/svg + xml

相关问题