首页 > 代码库 > 如何在ASP.NET的web.config配置文件中添加MIME类型

如何在ASP.NET的web.config配置文件中添加MIME类型

常常有一些特殊的MIME类型是IIS中没有的,一般来说要我们自己手动添加。如果网站经常更换服务器或者网站代码是提供给多个用户使用,那么会造成网站中用到的特殊的MIME类型要经常性的在IIS上配置。这里考虑到一个网站配置通用性问题,所以我们可以将MIME类型添加到ASP.NET网站的配置文件中,这样用户就不用一直配置IIS了。

一般来说我们是将MIME的这部份信息配置在system.webServer节点的staticContent节点中,配置的时候只要设置mimeMap节点中的fileExtension文件扩展名属性和mimeType这个MIME类型属性(点击此链接查看常用MIME类型)。

大概的代码如下(代码中添加的扩展名和MIME类型只是作为示例):

  <system.webServer>    
    <staticContent>
      <remove fileExtension=".woff" />
      <remove fileExtension=".xap" />
      <remove fileExtension=".xaml" />

      <mimeMap fileExtension=".woff" mimeType="font/x-font-woff" />     
      <mimeMap fileExtension=".xap" mimeType="xapapplication/x-silverlight"/>
      <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml"/> 
    </staticContent>
  </system.webServer>

可以看到这里添加了3个IIS默认中没有的扩展名:

  1. .woff (woff字体)
  2. .xap (Silverlight编译后的文件)
  3. .xaml (可扩展应用程序标记语言,eXtensible Application Markup Language)

这里要额外注意一点的是,在上面代码中我还声明了remove这个移除节点,这是为了防止重复添加MIME类型导致网站出现这个异常信息:“在唯一密钥属性“fileExtension”设置为“.woff”时,无法添加类型为“mimeMap”的重复集合项”,如果你的网站没有提示这个异常信息,或者能确定用户的IIS上一定没有配置这几个扩展名,那么remove节点就可以不用加。

如何在ASP.NET的web.config配置文件中添加MIME类型