2011-04-14 88 views
1

我有一個顯示圖像的ashx文件。 我不想顯示圖像,但強制下載。Ashx force下載圖片

這是我的代碼:

context.Response.AppendHeader("content-disposition", "attachment; filename=" + userId + ".jpg"); 
context.Response.ContentType = "image/jpeg"; 
context.Response.OutputStream.Write(msMasterFinal.ToArray(), 0, msMasterFinal.ToArray().Length); 

當我打開我的瀏覽器與此ashx的,是 自動顯示圖像。如何強制下載?

非常感謝

+0

分號和文件名之間的空格是否會影響您的處置? – Jonas 2011-04-14 04:53:59

回答

1

嗯,你的代碼看起來不錯。我用這個片段在過去,實現你想要做什麼:

context.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=""{0}""", FileName)); 
context.Response.AddHeader("Content-Type", FileType); 
context.Response.AddHeader("Content-Length", FileSize.ToString); 
context.Response.BinaryWrite(FileBytes); 

這幾乎相似......

+0

謝謝Jackob,但我有同樣的問題。 – Bob 2011-04-15 04:35:08

0

您的瀏覽器總是會顯示在窗口的照片,如果他們的contentType wiil是「圖像/ JPEG」。嘗試使用不同的contentType。