ASP文件下载权限设置:服务器IIS映射与Content-Type控制

需积分: 10 8 下载量 131 浏览量 更新于2024-09-30 收藏 31KB DOC 举报
ASP下载权限设置文档主要讨论了如何在ASP脚本中实现对特定文件类型(如.doc、.xls、.jpg等)的下载处理,以便在用户访问时不是直接在浏览器中显示,而是通过下载提示框提供给用户选择下载。这里介绍两种方法: 1. **服务器端IIS设置**: - 为了实现非直接显示文件,可以配置Internet Information Services (IIS) 服务器,更改Web服务器对特定文件扩展名(如.doc)的默认行为。这通常涉及到修改IIS的MIME类型映射,确保当用户尝试访问这些文件时,服务器返回的是“application/octet-stream”或对应的下载类型,而不是默认的“text/plain”或“text/html”。 2. **使用ASP脚本进行内容类型设置**: - 在ASP代码中,通过`Response.ContentType`属性来指定下载文件的MIME类型。例如,对于`.doc`文件,应设置为`"application/msword"`,这样浏览器就会提示用户下载而不是直接显示。代码示例中展示了如何动态获取文件名、服务器路径,创建`ADODB.Stream`对象,并设置其`Type`属性为1(二进制模式),然后加载文件并设置`ContentType`。 具体操作步骤如下: - 首先,检查用户请求的文件名是否为空,如果不是,则获取服务器上的文件路径。 - 使用`Scripting.FileSystemObject`(SFO)对象获取文件大小和名称。 - 创建`ADODB.Stream`对象,并将其打开,设置为二进制模式(Type=1)。 - 加载文件到流中,根据文件扩展名判断合适的MIME类型(如`.doc`对应`application/msword`)。 - 最后,使用`Response.ContentType`设置内容类型,并使用`objStream.SaveToFile`将文件内容写入到响应中,从而触发浏览器的下载提示。 通过这两种方法,你可以确保在ASP环境中更好地控制文件的下载行为,保护敏感信息或提供更友好的用户体验。