【发布时间】:2019-01-28 21:38:31
【问题描述】:
我可以使用 JavaScript 客户端代码“即时”生成一个大文件并将其流式传输到磁盘吗?这是为了避免内存/性能问题。目前我正在创建一个内存中的 zip 文件来保存我的示例数据。但在现实世界中,文件大小可能轻松达到 5Gb+。即,之后我怀疑内存解决方案不会削减它。
【问题讨论】:
标签: javascript performance download zip in-memory
我可以使用 JavaScript 客户端代码“即时”生成一个大文件并将其流式传输到磁盘吗?这是为了避免内存/性能问题。目前我正在创建一个内存中的 zip 文件来保存我的示例数据。但在现实世界中,文件大小可能轻松达到 5Gb+。即,之后我怀疑内存解决方案不会削减它。
【问题讨论】:
标签: javascript performance download zip in-memory
StreamSaver.js 是我遇到的最佳解决方案。它允许您流式传输大量数据。到目前为止,我已经测试了 20 Gb 的下载。但我注意到,虽然它在 Macbook Pro 2018 上运行良好,但它在 Macbook Pro 2015 上引起了性能问题。我将继续评估。
更新(27/11/2019):我问这个问题已经快一年了。简而言之,上述问题对我们来说是一个阻塞问题。我们意识到浏览器不能以目前的形式用于流式传输到磁盘。相反,我们转向使用 Electron 构建的客户端应用程序。此客户端已用于下载浏览器无法支持的最大 0.5 TB 的报告。
【讨论】: