MIME类型 简单的说 就是让服务器认识你网站中文件的扩展名, 比如,网站中用户需要下载一个3D文件,3D文件的扩展名是.max,如果你不配置,那么服务器根本不知道max文件是个什么东西,是需要像word一样下载,还是像图片一样能在网页中直接显示。
常常有一些特殊的MIME类型是IIS中没有的,一般来说要我们自己手动添加。如果网站经常更换服务器或者网站代码是提供给多个用户使用,那么会造成网站中用到的特殊的MIME类型要经常性的在IIS上配置。这里考虑到一个网站配置通用性问题,所以我们可以将MIME类型添加到ASP.NET网站的配置文件中,这样用户就不用一直配置IIS了。
一般来说我们是将MIME的这部份信息配置在system.webServer节点的staticContent节点中,配置的时候只要设置mimeMap节点中的fileExtension文件扩展名属性和mimeType这个MIME类型属性。
大概的代码如下(代码中添加的扩展名和MIME类型只是作为示例):
[C#] 纯文本查看 复制代码 <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默认中没有的扩展名:
.woff (woff字体)
.xap (Silverlight编译后的文件)
.xaml (可扩展应用程序标记语言,eXtensible Application Markup Language)
这里要额外注意一点的是,在上面代码中我还声明了remove这个移除节点,这是为了防止重复添加MIME类型导致网站出现这个异常信息:“在唯一密钥属性“fileExtension”设置为“.woff”时,无法添加类型为“mimeMap”的重复集合项”,如果你的网站没有提示这个异常信息,或者能确定用户的IIS上一定没有配置这几个扩展名,那么remove节点就可以不用加。
|