2011-06-21 59 views
0

我使用一些ASP.NET下面的C#代碼將文件發送到瀏覽器:Response.BinaryWrite不是IE6工作

Response.Clear(); 
Response.Buffer = true; 
Response.AddHeader("content-disposition", "attachment; filename=" + myFileName); 
Response.BinaryWrite(myContent); 
Response.End(); 
Response.Close(); 

它與WebDev.WebServer和IIS7運行良好,IE7-8下,FF3-4和Chrome。但不是在IE6下。我不明白爲什麼它可以是一個瀏覽器相關的問題......

+0

對於此瀏覽器,您可能還需要添加'content-length'標頭。 –

+0

IE6中的「運行良好」究竟是什麼?你不知道該文件,是不是該名稱,.. –

+0

它是內容配置。在某些情況下,IE6是afaik,區分大小寫。 – nothrow

回答

0

謝謝大家,這裏是答案:這是由於頁面中的Ajax,並且未按預期禁用Ajax請求。

1

嘗試增加content-length頭:

Response.AddHeader("content-length", myContent.Length.ToString()); 

編輯:另外一個可能需要的是content-type

Response.AddHeader("content-type", "type here"); 
+0

謝謝,但它是一樣的:( –

+0

請描述在IE6中究竟發生了什麼 –

+0

什麼都沒有......頁面刷新, IE6不顯示文件下載對話框 –

0

而不是BinaryWrite,請使用TransmitFile。請參閱示例here

+0

不能這樣做(可以在服務器上不存儲文件)。 –