我有一个ASP.NET Web应用程序,允许用户从网站下载文件。该站点已经运行了几年,没有问题,但是今天,当试图下载带有" ERPT"one_answers" EDRW"的两个不同文件时,一位用户报告了404响应。这些是某种CAD设计文件。
在某些情况下,例如PDF文件,网站将在浏览器中打开该文件。但是对于大多数人来说,像zip文件一样,该站点将简单地提示用户下载位置并保存文件。我希望这两个文件的下载发生,但它正在返回404。如果将文件扩展名更改为txt,则下载无问题。
关于ERPT或EDRW文件扩展的独特之处,还是仅仅是未知的?
是否有工作,或者我可以将其他东西放在我的标签中?
目前,链接仅仅是这样:
<a href="files/File1.EPRT">Download File1.EPRT</a>
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>
有关更多信息,请参见此处。
听起来像您的IIS丢失了MIME文件类型设置。
这是Microsoft Technet请求静态文件返回404错误(IIS 6.0)的摘录:
对于静态内容的请求,此版本的IIS服务请求 对于仅具有已知文件名扩展名的文件,该功能称为已知 扩展。如果向其文件名的资源提出了请求 扩展未映射到MIMEMAP METABase中的已知扩展 属性,IIS拒绝请求并记录404错误 W3C扩展日志文件中的3(404.3)的替代代码(由 默认)。