2011-12-19 35 views
0

所以我有這個代碼,即時嘗試返回現有的圖片。雖然它不會顯示。 Chrome說服務器意外地關閉了連接,firefox說immage中有一個錯誤。標題返回圖像

這是代碼;

System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); 
      byte[] img = enc.GetBytes(response); 
      Response.AddHeader("Transfer-Encoding", "Chunked"); 
      Response.AddHeader("Connection", "Keep-Alive"); 
      Response.AddHeader("Keep-Alive", "timeout=1, max=64"); 
      Response.BinaryWrite(img); 

var content = fileStorage.readFile(src); // this is the file. Which is return in response 

//編輯我無法發佈圖片。

+0

響應對象究竟是什麼?我無法在.NET API中找到小寫的readFile。有沒有另一種方法可以將它轉換爲字節?我期望'ASCIIEncoding.GetBytes()'是問題所在。 – Rup 2011-12-19 10:51:13

回答

2

您的代碼與響應和內容變量之間的關係有點混淆。

TransferEncoding頭的目的是什麼?考慮到這一點,使用它可以使用一個簡單的工作:

var content = System.IO.File.ReadAllBytes("C:\\path\\image.gif") 

並在BinaryWrite中傳遞此工作。

+0

好吧,這個工程..很簡單...謝謝! – 2011-12-19 11:15:34

2

看看HttpResponse.WriteFile。使用它可能會解決它。

+0

也必須將此標記爲答案,因爲雖然我沒有嘗試它,但它也可能會起作用。 編輯 - 嗯,你只能有一個答案? – 2011-12-19 11:15:58

+0

@Quincy是的,只有一個接受的答案 - 但(一旦你得到15代表),你可以投票了所有有用的答案。 – Rup 2011-12-19 12:42:56