文件存在但IIS报404故障的解决

起因

公司内建有SMB的网络共享盘,同时为方便MacOS用户,也基于同样的文件夹位置,建立的共享文件的HTTP站点。这个文件夹中有很多的打印机和扫描仪的驱动文件。由于原先使用打印服务器的模式,所以客户端无需单独安装驱动。后来,有了直连打印机的需求,就要上传MacOS的打印机驱动。
在上传DMG格式的驱动之后,SMB共享可以正常下载,但WEB共享发现无法下载,点击文件回显404.

解决

在IIS服务器中添加对.dmg文件的描述。

  1. 打开IIS控制台
  2. 添加DMG文件的描述信息

原因

MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。浏览器通常使用 MIME 类型(而不是文件扩展名)来确定如何处理URL,因此 We b服务器在响应头中添加正确的 MIME 类型非常重要。如果配置不正确,浏览器可能会无法解析文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。
MIME 的组成结构非常简单,由类型与子类型两个字符串中间用 / 分隔而组成,不允许有空格。type 表示可以被分多个子类的独立类别,subtype 表示细分后的每个类型。MIME类型对大小写不敏感,但是传统写法都是小写。

两种主要的 MIME 类型在默认类型中扮演了重要的角色:

text/plain 表示文本文件的默认值。
application/octet-stream 表示所有其他情况的默认值。

常见的 MIME 类型

超文本标记语言文本 .html、.html:text/html
普通文本 .txt: text/plain
RTF 文本 .rtf: application/rtf
GIF 图形 .gif: image/gif
JPEG 图形 .jpeg、.jpg: image/jpeg
au 声音文件 .au: audio/basic
MIDI 音乐文件 mid、.midi: audio/midi、audio/x-midi
RealAudio 音乐文件 .ra、.ram: audio/x-pn-realaudio
MPEG 文件 .mpg、.mpeg: video/mpeg
AVI 文件 .avi: video/x-msvideo
GZIP 文件 .gz: application/x-gzip
TAR 文件 .tar: application/x-tar

因为互联网的发展太快,IIS对一些程序和二进制文件不会全部添加类型描述,因此需要自行添加MIME标识信息,从而为WEB Server提供行为描述。