1. 程式人生 > >位元組流寫入瀏覽器做匯出功能,在Chorme下載檔案時“失敗-網路錯誤”

位元組流寫入瀏覽器做匯出功能,在Chorme下載檔案時“失敗-網路錯誤”

我是在做匯出功能時候遇到的。匯出Excel功能,是把資料寫成csv檔案,然後用stream流寫到客戶端(瀏覽器)的形式完成的。本地測試時成功了,但是到伺服器上(使用域名cdn等)卻提升如下錯誤
這裡寫圖片描述
並且firefox等其它瀏覽器都可以,就是chrome不行。

解決辦法

我在查閱了相關程式碼後,發現對寫入瀏覽器的stream流,有的加上了流的長度,試了下就成功了。我想是因為chrome做了某些安全限制吧,防止未知流寫入。
加上的程式碼就一句,向客戶端宣告輸出流的長度

response.AddHeader("Content-Length", bytes.Length
.ToString());

其中 bytes就是所要寫入瀏覽器的位元組流。

總結

在將位元組流寫入瀏覽器時,一定要宣告位元組流的長度!!!