2012-03-15 115 views
10

在我的應用程序中,我在服務器上保留了一些文件,並使它們可用於下載某些業務邏輯,所有其他文件類型都被下載,但.msg(Outlook消息)文件不會被下載給出錯誤: 「 」404 - 未找到文件或目錄。您正在查找的資源可能已被刪除,名稱已更改或暫時不可用。「 圖像,.docx,.txt所有其他文件運行良好。 該頁面是在ASP.NET和客戶端站點中設計的,隨後標記出來。.msg文件提供下載錯誤

+0

​​ Error logging hours in PT.msg ,上述 PhotoShare.png MaxRecursion 2012-03-15 10:37:29

+0

是進來輸出 – MaxRecursion 2012-03-15 10:37:51

回答

13

找到的ASP.NET forum。在IIS 6.0

Response.ContentType = "application/vnd.ms-outlook"; 
Response.AppendHeader("Content-Disposition","attachment; filename=Message.msg"); 
Response.TransmitFile(Server.MapPath(YourPathToMsgFile)); 
Response.End(); 

或更改設置:

創建一個處理程序,下載一個文件

Select HTTP Header -> click MIME types - > Click New and add ".msg" as extension and "application/vnd.ms-outlook" as MIME type.

+2

在IIS 7.5的代碼,點擊在服務器上,然後在IIS部分選擇「MIME類型」,然後單擊右側操作欄下的「添加...」(或右鍵單擊MIME類型列表)。 – Rocklan 2013-05-06 05:42:37

3

使用這個標籤下面,我們可以直接提到的文件名的標籤。

<a href="Your File_Location">Download Link</a> 

沒有必要在控制器中指定代碼。

剛好低於標記添加到的web.config內部

<staticContent> 
    <mimeMap fileExtension=".msg" mimeType="application/octet-stream" /> 
</staticContent> 
+0

請編輯您的答案,並解釋爲什麼這可以解決問題。 – Ben 2015-02-09 15:25:54

1
<system.webServer> 
    <staticContent> 
     <mimeMap fileExtension=".msg" mimeType="application/octet-stream" /> 
    </staticContent> 
</system.webServer> 
+0

我可以請您請您在答案中添加更多的上下文。僅有代碼的答案很難理解。如果您可以在帖子中添加更多信息,它可以幫助提問者和未來的讀者。 – RBT 2017-01-25 00:09:00