网站访问文件后缀为“.svg”的文件(如:test.svg),默认情况下返回“404找不到文件”的错误提示,这是因为web服务器默认不能解析svg文件的原因。要使svg文件能被正常访问打开,就要设置一下web服务器的配置文件,如果web服务器是IIS,那么就要设置一下IIS管理器。本文介绍IIS如何配置使svg文件能被正常访问。
首先,打开IIS管理器,在网站属性窗口切换到“HTTP头”标签,然后点击“MIME 类型”按钮。
点击“新建”按钮,扩展名输入“.svg”,MIME类型输入“image/svg+xml”,然后点击“确定”按钮。
添加svg的MIME类型
添加完后,就立即可以访问扩展名为“.svg”的文件了。
方法二:在Web.Config 中添加配置节点,手工映射。
前文是在IIS管理器里配置支持SVG文件的访问,但如果是虚拟主机,你没有IIS管理器的配置权限怎么办呢?这里介绍另一种方法,那就是在Web.Config 中添加配置节点,手工映射。
在WebServer节点里添加:
<staticContent>
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
说明, <staticContent>...</staticContent>
整块代码一定要放到 <system.webServer>...</system.webServer>
里面。
下面是一个完整的web.config代码:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
</system.web>
<system.webServer>
<staticContent>
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>
</configuration>
要注意的是, <system.webServer>...</system.webServer>
与 <system.web>...</system.web>
是并列的代码块,相互不能被包含。
这样配置后,也可以访问网站的SVG文件。
☉svg实现的世界地图轮廓【附源代码】 (2018-2-28 11:10:14)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。