下载具有未知扩展名的文件时的ASP.NET 404

时间:2014-01-21 18:36:23

标签: asp.net

我有一个ASP.NET Web应用程序,允许用户从站点下载文件。这个网站已经运行了几年没有问题,但是今天用户报告在尝试下载两个扩展名为“ERPT”和“EDRW”的不同文件时收到了404响应。这些是某种CAD设计文件。

在某些情况下,例如pdf文件,网站将在浏览器中打开该文件。但对于大多数人来说,比如zip文件,该网站只会提示用户下载位置并保存文件。我预计这两个文件的下载会发生,但它会返回404.如果我将文件扩展名更改为txt,下载工作没有问题。

是否有关于ERPT或EDRW文件扩展名的独特内容,或者只是它未知?

是否有解决方法或其他我可以放入标签的其他内容?

目前,链接只是这样:

<a href="files/File1.EPRT">Download File1.EPRT</a>

2 个答案:

答案 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   默认值)。