2011-03-21 77 views
1

我正在使用ashx從數據庫提供圖像,是否有用戶點擊允許他們在計算機上下載文件的鏈接。 (IE顯示保存對話框)就像你下載一個文件。這可能嗎?ASHX圖像點擊下載

回答

6

如果你想讓它提示保存確保您創建響應時,添加以下行:

context.Response.AppendHeader("Content-Disposition", 
    "attachment;filename=" + filename); 

這將使瀏覽器把它當作一個附件,與保存對話框提示。

編輯:基於您的評論確保你正確地構建您的迴應:

// set attachment header like above 
// then you need to get your file in byte[] form 
byte[] dataYouWantToServeUp = GetData(); 
// you can set content type as well 
yourHttpContext.Response.ContentType = "image/jpg"; 
// serve up the response 
yourHttpContext.Response.BinaryWrite(dataYouWantToServeUp); 
+0

如果我使用'Response.AppendHeader(「Content-Disposition」,「attachment; filename =」+「evimg.ashx?id = 18」);'它嘗試下載文件evimg.ashx_id = 18,其中不包含任何內容。 – atrljoe 2011-03-22 13:03:11

+0

@atrljoe你可能沒有正確地發送迴應。你能發佈你正在使用的代碼來建立你的迴應嗎? – Kelsey 2011-03-22 15:14:22

+0

得到它的工作,謝謝。 – atrljoe 2011-03-22 15:31:00

0

我認爲,如果導航器能夠打開你想要獲得的文件的類型,它會打開它,而不會問。如果對於瞬間,文件格式爲zip,則導航器無法打開它,並會要求您下載它。

+0

但做一個谷歌搜索,我發現這一點:HTTP://www.xefteri.com/articles/ show.cfm?id = 8關於將任何文件下載到瀏覽器。 – 2011-03-21 20:12:35