如何使用 JavaScript 加载本地大文件?

Dam*_*ing 12 javascript blob file local filereader

有没有一种方法可以在 JavaScript 中本地处理非常大的文件(例如 2GB 及以上)而不会使浏览器崩溃?

*我知道输入标签和 FileReader API,但似乎没有像 Node.js 流那样的东西。

小智 15

FileReader使您能够异步读取文件内容。对于大文件(在您的情况下为 2GB),您可以使用函数/方法FileReader.readAsArrayBuffer()来读取内存中文件的特定块大小,因此这不会使您的浏览器崩溃,这个博客就是一个很好的例子。

  • 这里重要的部分是 Blob 的 `slice()` 方法。如果你向 readAsArrayBuffer 传递一个太大的 Blob,它也会使浏览器崩溃。 (6认同)