Javascript-将每个传入的数据直接保存到磁盘

Javascript- saving each incoming data directly to disk

本文关键字:保存 磁盘 数据 Javascript-      更新时间:2023-09-26

我正在用java脚本制作一个文件共享应用程序。我必须发送和接收无法存储在缓冲区或内存中的大文件。我想直接将每个即将到来的数据块存储到磁盘上。任何参考链接都将不胜感激。

如果您只关心Chrome,

FileWriter是一个很好的起点。

否则,一个有趣的破解方法是使用IndexedDB将块存储为blob,因为从技术上讲,它们将存储到磁盘上,然后用这些块构建一个大blob,并用URL.createObjectURL提供指向它的链接。它不涉及将任何内容加载到内存中,因为Blob只是对数据的引用,而不是数据本身,在这种情况下,所有数据都存储在IndexedDB中的内存外。这里唯一的问题是所有数据的额外副本。

它不如FileWriter好,但这种破解是唯一可以在许多浏览器上工作的解决方案(Safari一如既往地是一个显著的例外。)