【发布时间】:2019-04-13 17:42:16
【问题描述】:
有没有办法在 JavaScript 中本地处理非常大的文件(如 2GB 及以上)而不会使浏览器崩溃?
*我知道输入标签和 FileReader API,但似乎没有像 Node.js 流这样的东西。
【问题讨论】:
-
你打算用这个文件做什么?只是好奇。
-
目前这主要是对未来发展的假设,但我想问这个问题的原因是因为想从我的谷歌数据转储中提取数据。显然,我将使用它的任何类型的功能都是一次提取少量数据,例如“查找我在特定位置的所有日期”。
-
你有什么理由要求 js 在服务器端觉得微不足道的工作下紧张?
-
@lucas 没有网络上传,因此可以降低数据成本 + 可以在慢速网络环境中完成。用户可以分担处理负担,而不是让服务器所有者负担使用该服务的每个人的负担。不喜欢将私人数据上传到外部服务器。
-
您可以将长时间运行的任务(在本例中为大文件处理)卸载到 Web Workers (developer.mozilla.org/en-US/docs/Web/API/Worker)。 Web Worker 在另一个线程(上下文)中运行,因此它不会阻塞您的主线程(浏览器)
标签: javascript file blob local filereader