我有一个ASP.NET Web应用程序,允许用户从站点下载文件。这个网站已经运行了几年没有问题,但是今天用户报告在尝试下载两个扩展名为“ERPT”和“EDRW”的不同文件时收到了404响应。这些是某种CAD设计文件。
在某些情况下,例如pdf文件,网站将在浏览器中打开该文件。但对于大多数人来说,比如zip文件,该网站只会提示用户下载位置并保存文件。我预计这两个文件的下载会发生,但它会返回404.如果我将文件扩展名更改为txt,下载工作没有问题。
是否有关于ERPT或EDRW文件扩展名的独特内容,或者只是它未知?
是否有解决方法或其他我可以放入标签的其他内容?
目前,链接只是这样:
<a href="files/File1.EPRT">Download File1.EPRT</a>
答案 0 :(得分:3)
IIS 7不会返回未知的文件类型。尝试将此添加到您的web.config
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".ERPT" mimeType="application/octet-stream" />
<mimeMap fileExtension=".EDRW" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
See here了解更多信息。
答案 1 :(得分:1)
听起来你的IIS丢失了它的MIME文件类型设置。
以下摘自Microsoft TechNet Requests for static files return 404 error (IIS 6.0):
对于静态内容的请求,此版本的IIS提供请求 对于仅具有已知文件扩展名的文件,称为已知的功能 扩展。如果请求对其文件名的资源 扩展未映射到MimeMap元数据库中的已知扩展 属性,IIS拒绝请求并记录404错误 W3C扩展日志文件中的子状态代码3(404.3)(by 默认值)。