Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过websocket接收作为下载的流式大数据文件_Javascript_Html - Fatal编程技术网

Javascript 通过websocket接收作为下载的流式大数据文件

Javascript 通过websocket接收作为下载的流式大数据文件,javascript,html,Javascript,Html,我正在通过websocket接收文件数据,并希望将其作为下载提供给用户 一种解决方案是构建一个blob,并在接收到整个文件后使用URL.createObjectURL。但是,我更愿意立即开始将接收到的字节流传输给用户(作为标准下载),而不是等待首先接收整个文件 这对于大型文件尤其重要。正如@kodmayna所提到的,您不能流式传输并提供下载结果 需要注意的三点会影响您的进度: 本机浏览器上的读/写流仍然是实验性的/非标准的 浏览器无法通过JS访问文件系统(除非您将节点应用程序与(比如)elect

我正在通过websocket接收文件数据,并希望将其作为下载提供给用户

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


这对于大型文件尤其重要。

正如@kodmayna所提到的,您不能流式传输并提供下载结果

需要注意的三点会影响您的进度:

  • 本机浏览器上的读/写流仍然是实验性的/非标准的
  • 浏览器无法通过JS访问文件系统(除非您将节点应用程序与(比如)electron捆绑为可执行文件)
  • 读/写团队应该通过管道传输(而下载假设您拥有整个文件,并将通过请求下载该文件)

  • 您不能这样做,因为无法将任何数据写入用户的计算机。下载操作仅由浏览器管理。出于安全原因,不能使用javascript执行此操作。