一朋友问如何让IIS显示没有后缀名的图片,首先想到的就是添加一个自定义的MIME类型。
按照网上能够找到的几乎全部的教程都是说在MIME类型中添加一个扩展名为”*”、MIME类型为”application/octel-stream”或者”image/jpeg”的记录。
但是实际上这种做法是错误的,因为实际它作用的是filename.*,也就是说它实际作用的是将所有具有没有明确指定MIME类型的后缀名的文件当作jpeg图片来进行处理。
举个例子,aaa.jjj和bbb.server甚至ccc.123456在上述MIME类型设置下都会被当作jpeg图片来进行处理,但是唯独ddd这个文件,因为它没有后缀名,依然不能被正常处理。
为什么?回到之前的扩展名为”*”这一步,仔细看新添加的那条记录我们会发现IIS新增的那条MIME类型记录里面的扩展名不是”*”,而是”.*”!
于是问题就迎刃而解了!按照网上的方法添加”*”后IIS去匹配的规则不是任意扩展名,而是所有扩展名(但不包括无扩展名)!
正确的方法:找到你的web根目录下的web.config,将
1 |
<mimeMap fileExtension=".*" mimeType="application/octet-stream" /> |
这一句修改为
1 |
<mimeMap fileExtension="" mimeType="application/octet-stream" /> |
Just enjoy!
Comments