2014-01-21 81 views
1

我有一個ASP.NET Web應用程序,允許用戶從該網站下載文件。這個網站已經運行了幾年沒有問題,但今天一個用戶報告試圖下載兩個不同的擴展名爲「ERPT」和「EDRW」的文件時得到了404響應。這些是某種CAD設計文件。ASP.NET 404下載具有未知擴展名的文件

在某些情況下,例如pdf文件,網站將在瀏覽器中打開文件。但對於大多數情況下,如zip文件,網站只會提示用戶下載位置並保存文件。我預計這兩個文件會發生下載,但它會返回404。如果我將文件擴展名更改爲txt,則下載可以毫無問題地工作。

對於ERPT或EDRW文件擴展名是否有獨特之處,或者僅僅是未知的?

有沒有解決辦法,或者其他我可以放在我的標籤?

目前,該鏈接很簡單:

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

回答

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欲瞭解更多信息。

+0

這沒有奏效,但它確實讓我朝着正確的方向前進。我設法通過IIS7添加mimetype,並修復了它。謝謝。 –

1

聽起來像你的IIS丟失了它的MIME文件類型設置。

下面是來自微軟的TechNet Requests for static files return 404 error (IIS 6.0)的摘錄:

對於請求靜態內容,這個版本的IIS的目的是爲了與已知文件擴展名而已,一個功能叫做已知 擴展名的文件的請求 。如果請求的文件名爲 擴展名的資源未映射到MimeMap配置數據庫 屬性中的已知擴展名,則IIS會拒絕該請求並記錄404錯誤,並且W3C擴展中的 子狀態碼爲3(404.3)日誌文件(默認爲 )。

相關問題