2017-04-11 186 views
0

我正在通過websocket接收文件數據,並希望將其作爲下載呈現給用戶。通過websocket流式傳輸大型數據文件作爲下載

一種解決方案是構建一個blob,並在收到整個文件後使用URL.createObjectURL。不過,我寧願立即將接收到的字節流式傳輸給用戶(作爲標準下載),而不是等待首先接收整個文件。

這對於大文件尤其重要。

+0

你不能這樣做,因爲不能寫任何數據到用戶的計算機。下載操作只能由瀏覽器管理。出於安全原因,你不能用javascript來做到這一點。 – kodmanyagha

回答

0

正如@kodmayna提到的那樣,您不能以下載的形式進行流式處理並提供結果。

三點需要注意,這會影響你的進步:

  1. 在本地瀏覽器的讀/寫流仍然實驗性/非標。
  2. 瀏覽器無法通過JS訪問文件系統(除非你捆綁一個節點應用的發言權,電子作爲可執行文件)
  3. 讀/ WriteStreams應當用管子(而下載假設你擁有整個文件,將下載的文件通過請求)