2017-04-11 38 views
0

我正在通过websocket接收文件数据,并希望将其作为下载呈现给用户。通过websocket流式传输大型数据文件作为下载

一种解决方案是构建一个blob,并在收到整个文件后使用URL.createObjectURL。不过,我宁愿立即将接收到的字节流式传输给用户(作为标准下载),而不是等待首先接收整个文件。

这对于大文件尤其重要。

+0

你不能这样做,因为不能写任何数据到用户的计算机。下载操作只能由浏览器管理。出于安全原因,你不能用javascript来做到这一点。 – kodmanyagha

回答

0

正如@kodmayna提到的那样,您不能以下载的形式进行流式处理并提供结果。

三点需要注意,这会影响你的进步:

  1. 在本地浏览器的读/写流仍然实验性/非标。
  2. 浏览器无法通过JS访问文件系统(除非你捆绑一个节点应用的发言权,电子作为可执行文件)
  3. 读/ WriteStreams应当用管子(而下载假设你拥有整个文件,将下载的文件通过请求)
相关问题