我正在用java脚本制作一个文件共享应用程序。我必须发送和接收无法存储在缓冲区或内存中的大文件。我想将每个即将到来的数据 block 直接存储到磁盘。任何引用链接将不胜感激。
最佳答案
FileWriter如果您只关心 Chrome,那么这是一个很好的起点。
否则,一个有趣的黑客正在使用 IndexedDB将 block 存储为 blob,因为它们技术上将存储到磁盘,然后从这些 block 中构造一个大 blob,并使用 URL.createObjectURL
提供指向它的链接。它不涉及将任何内容加载到内存中,因为 blob 只是对数据的引用,而不是数据本身,在这种情况下,所有数据都存储在内存外的 IndexedDB 内。这里唯一的问题是所有数据的额外副本。
它不如 FileWriter 那么好,但是这个 hack 是跨多种浏览器工作的唯一解决方案(Safari 一如既往是一个值得注意的异常(exception)。)
关于Javascript-将每个传入数据直接保存到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29465180/