我有一个表示为块列表的文件,目标是下载所有块,加入并保存为文件。
但我仍然无法通过所涵盖的要求实现我的目标...... 如果有人有最佳解决方案的经验,请在此处分享。感谢
答案 0 :(得分:2)
不幸的是,这里还没有真正的跨浏览器选项。
在Chrome中,您可以使用非标准文件系统API或Blob which Chrome will use the file-system for if the blob is large。
在Firefox中,您可以使用the non-standard IDBMutableFile。但是,它不适用于the download API,因此您必须使用window.location
将浏览器发送到Blob URL,然后浏览器必须下载该URL(可能不会对所有文件扩展名发生)。您还可能需要使用the IDB persistent option来保存大于~2GB的文件。
在其他浏览器中,Blob是您唯一真正的选择。在好的方面,the OS the browser runs on may use paging which could enable the browser to create blobs larger than memory。
像StreamSaver这样的基于服务工作者的选项也可以提供帮助(也许这可能是Firefox的下载API替代方案),但是there is (or was?) a limit to how long the browser will wait for a complete response,这意味着您可能必须在某处下载并存储块以完成及时回应。