2012-08-08 65 views
1

我在Downloads.aspx頁面的Page_Load處理程序中設置了Response.ContentType = "application/octet-stream";。當我嘗試下載一個.gif文件時,它工作正常。但是在.jpg文件的情況下,對話框顯示文件類型是「application/octet-stream」,下載的文件只是一個非預期的.jpg文件。爲什麼下載時文件類型改變了?

+0

雖然更好的CT可以使用,也考慮了'內容Disposition'頭設置@pst我使用的文件名.. – 2012-08-08 19:12:55

+0

它。 – 2012-08-08 19:13:55

回答

4

嘗試爲每種文件類型設置顯式內容類型。

switch (fileExtension) 
{ 
    case "gif": Response.ContentType = "image/gif"; break; 
    case "jpeg": Response.ContentType = "image/jpg"; break; 
    case "jpg": Response.ContentType = "image/jpg"; break; 
    case "png": Response.ContentType = "image/png"; break; 

    default: Response.ContentType = "application/octet-stream"; break; 
} 

請參閱以下的MIME類型參考鏈接:

​​
+0

它的好主意,但不是很麻煩嗎?我怎麼知道沒有其他文件擴展名屬於「默認」,並且沒有準確打開? – 2012-08-08 19:16:09

+1

你應該照顧你的用戶可以從網站上下載,允許只下載一小部分文件類型 – tanathos 2012-08-08 19:28:36

+0

@tanathos我正在建立一個社區網站,任何人都可以上傳和下載任何類型的文件 – 2012-08-08 19:33:43

相關問題