首页 > 开发 > IIS > 正文

IIS支持任意扩展名下载文件的方法

2020-07-06 13:23:52
字体:
来源:转载
供稿:网友
  本文为大家介绍IIS支持任意扩展名下载文件的方法,有的网站是下载类的,网站上有各种类型的文件提供下载,而IIS默认只支持ZIP和EXE格式,如果你要一个一个添加扩展名,一是比较累,二是容易漏掉一些扩展名,这时候可以使用此方法。
 
  PS:如果下载服务器有asp,php等动态文件,不建议这样设置,如果这样设置了又不想让asp,php文件被别人下载可以使用。
 
  1、取消网站执行权限。
 
  2、为防止asp,php文件被下载,没有就不需要设置。
 
  让IIS支持任意扩展名和未知扩展名的下载
 
  1、打开IISMicrosoft管理控制台(MMC),右键单击本地计算机名称,然后单击"属性"。
 
  2、单击"MIME类型"。
 
  3、单击"新建"。
 
  4、在"扩展名"框中,键入星号(*)。
 
  5、在"MIME类型"框中,键入application/octet-stream。
 
  在IIS6中新增可下载文件类型
 
  IIS6.0不能处理未知的MIME类型
 
  IIS6只为对具有已知文件扩展名的文件的请求提供服务。如果请求内容的文件扩展名未映射到已知的扩展,则服务器拒绝请求。即IIS不支持未知文件扩展下载!
 
  症状
 
  当您从IIS6.0Web服务器中请求文件时,而该文件的扩展名不是Web服务器上已定义的MIME类型,您将看到以下错误消息:
 
  HTTP错误404-找不到文件或目录。
 
  原因

       IIS早期版本包含通配符MIME映射,允许IIS处理任何文件而无需考虑扩展名。IIS6.0不包含该通配符MIME映射,不能处理在IIS元数据库中的MimeMap节点以外定义的任何类型的扩展名。
 
  解决方案
 
  使用MIME类型
 
  MultipurposeInternetMailExchange(MIME)类型说明了Web浏览器或邮件应用程序如何处理从服务器接收的文件。例如,当Web浏览器请求服务器上的某一项目时,也会请求此对象的MIME类型。某些MIME类型(例如图形)可以在浏览器内部显示。其他的MIME类型(例如文字处理文档)则需要使用外部帮助应用程序来显示。
 
  当IIS传递邮件消息给邮件应用程序或传递网页给客户端Web浏览器时,IIS也发送了所传递数据的MIME类型。如果存在以特定格式传递的附加或嵌入文件,那么IIS就会通知客户端应用程序嵌入或附加文件的MIME类型。然后客户端应用程序就知道了如何处理或显示正从IIS接收的数据。
 
  IIS只为具有已在MIME类型列表中注册的扩展名的文件提供服务,并且也允许配置其他的MIME类型和更改或删除MIME类型。
 
  IIS预配置为识别全局MIME类型的默认设置。您在IIS中创建的所有网站可以识别这些MIME类型。MIME类型还可以独立于其他的或全局定义的类型,在网站和目录级别上定义。当在网站或目录级别上查看MIME类型时,只显示唯一对应于此级别的类型,并非从上一级别继承的所有类型。如果在较低级别修改MIME类型后,又在全局级别上应用相同的MIME类型,那么全局级别的MIME类型将覆盖在较低级别修改过的MIME类型。
 
  如果客户端请求引用了其扩展名未在MIME类型中定义的文件扩展名,那么IIS将返回一个404.3错误。通过添加通配符(*)MIME类型,也可以将IIS配置成向所有的文件提供服务,而忽略文件扩展名。
 
  要点您必须是本地计算机上Administrators组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于Administrators组的帐户登录计算机,然后使用运行方式命令以管理员身份运行IIS管理器。在命令提示符下,键入runas/user:administrative_accountname"mmc%systemroot%/system32/inetsrv/iis.msc"。
 
  下面让IIS6支持DVf文件格式下载:
 
  DVF文件为SonyCompressedVoiceFile或DVStudioCamcorderGraphicsFile,一般使用于录音笔文件。
 
  Extension:DVFASCII:MS_VOICE
 
  YoucanusetheSonyPlayerPlug-inVersion1.2fortheMicrosoftWindowsMediaPlayerApplicationtoplay.
 
  要为特定扩展名定义MIME类型,请按照下列步骤操作:
 
  1、打开IISMicrosoft管理控制台(MMC),右键单击本地计算机名称,然后单击"属性"。
 
  2、单击"MIME类型"。
 
  3、单击"新建"。
 
  4、在"扩展名"框中,键入所需的文件扩展名(例如,.dvf录音笔文件)。
 
  5、在"MIME类型"框中,键入application/octet-stream。
 
  6、应用新设置。请注意,您必须重新启动"万维网发布服务"或等待工作进程循环以使更改生效。在此示例中,IIS现在可以处理带有.dvf扩展名的文件,你的IIS即可提供录音笔文件的下载了。
 
  如果希望处理所有文件而不考虑文件扩展名(例如,如果您无法预知将处理的所有文件),请按照下列步骤添加通配符映射:
 
  注意:您只能在故障排除过程中将通配符映射添加到IISMIME映射中,以作为一种临时解决方案。确定缺少MIME类型是问题的原因后,请删除通配符映射,然后添加需要处理的MIME类型的特定映射。

       1、打开IISMicrosoft管理控制台(MMC),右键单击本地计算机名称,然后单击"属性"。
 
  2、单击"MIME类型"。
 
  3、单击"新建"。
 
  4、在"扩展名"框中,键入星号(*)。
 
  5、在"MIME类型"框中,键入application/octet-stream。
 
  6、应用新设置。请注意,您必须重新启动"万维网发布服务"或等待工作进程循环以使更改生效。
 
  注意:除了在IIS全局层进行上述更改外,还可以在元数据库的较低层添加必要的MIME类型。此时,您可以指定允许处理具有特定文件扩展名的站点或目录,而不是全局性允许所有站点处理该扩展名。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表