Javascript 是否有办法强制将文件流式传输给用户';谁的电脑?
我可以执行以下操作将CSV文件强制下载到客户端:Javascript 是否有办法强制将文件流式传输给用户';谁的电脑?,javascript,node.js,download,Javascript,Node.js,Download,我可以执行以下操作将CSV文件强制下载到客户端: const response = await fetch(<url>, <options>); const text = await response.text(); const blob = new Blob([text], { type: 'text/plain' }); const url = URL.createObjectURL(blob); const anchor = document.createElem
const response = await fetch(<url>, <options>);
const text = await response.text();
const blob = new Blob([text], { type: 'text/plain' });
const url = URL.createObjectURL(blob);
const anchor = document.createElement('a');
anchor.download = fileName;
anchor.href = url;
anchor.style.display = 'none';
document.body.appendChild(anchor);
anchor.click();
anchor.remove();
URL.revokeObjectURL(url);
const response=wait fetch(,);
const text=等待响应。text();
constblob=newblob([text],{type:'text/plain'});
const url=url.createObjectURL(blob);
const-anchor=document.createElement('a');
anchor.download=文件名;
anchor.href=url;
anchor.style.display='none';
document.body.appendChild(锚定);
anchor.click();
锚定。移除();
revokeObjectURL(URL);
这适用于中等大小的文件,但显然是在写入磁盘之前将所有内容下载到内存中。如果文件大于客户机上的可用内存量,这肯定会阻塞。有没有更好的方法可以将response.body
直接通过管道传输到用户的文件系统
编辑
明确地说,我的目标是允许下载非常大的文件,并尽可能高效地下载所有文件。我认为有“fs”可以读写文件系统,如果正确的用户发送请求,只需写?@Alex-fs包只在服务器上工作。上面的代码是下载到客户端的。嗯,在客户端文件系统中写入不应该allowed@Alex-写入客户端选择的下载文件夹不是问题。他们会允许你访问你的网站。您可以使用上面的代码触发下载。我只想将其流式传输,而不是先将其保存在内存中。我认为有“fs”可以读写文件系统,如果正确的用户发送了请求,只需写?@Alex-fs包只在服务器上工作。上面的代码是下载到客户端的。嗯,在客户端文件系统中写入不应该allowed@Alex-写入客户端选择的下载文件夹不是问题。他们会允许你访问你的网站。您可以使用上面的代码触发下载。我只想将其流式传输,而不是先将其保存在内存中。