Javascript 流式客户端zip架构

Javascript 流式客户端zip架构,javascript,zip,deflate,Javascript,Zip,Deflate,是否有任何JS库允许以块的形式提供输入数据,而不希望在启动archivation之前100%的文件内容出现在内存中(字符串、缓冲区、UInt8Array)?我检查了几个流行的库,如JSZip或archiver,发现它们不提供这样的功能 我们在客户端使用Javascript处理大型数据表,并具有将表导出到CSV文件、压缩和上传到服务器的功能。目前,我们生成了巨大的字符串,并将其传递给archiver。理想情况下,我们希望有一种方法“流式”输入,并返回archiver library的CSV文件内容

是否有任何JS库允许以块的形式提供输入数据,而不希望在启动archivation之前100%的文件内容出现在内存中(字符串、缓冲区、UInt8Array)?我检查了几个流行的库,如JSZip或archiver,发现它们不提供这样的功能


我们在客户端使用Javascript处理大型数据表,并具有将表导出到CSV文件、压缩和上传到服务器的功能。目前,我们生成了巨大的字符串,并将其传递给archiver。理想情况下,我们希望有一种方法“流式”输入,并返回archiver library的CSV文件内容的小块(几行),然后返回另一块等,以避免一次使用大量内存。

请定义“大”。此外,发送x行/字节,然后在完成后再发送一次也不是很困难。这实际上取决于最终存储数据的位置。在数据库上?@Lee Taylor,100+Mb未压缩。分割成多个请求或文件也是一种选择,但首先我想尝试使用流式压缩解决方案。那么,这大概是文本数据?为什么有这么多数据?浏览器的数据来自哪里?服务器?@leetylor是的,那是文本数据。数据源于服务器,但这是一个完全独立的系统,和我们发送压缩CSV文件的目标服务器完全不同。我们可以在客户机上对该数据进行一些处理。而且那些服务器也不能直接对话看看我想我会在1MB点开始“分块”你的数据,看看你是怎么做的。因此,您将得到100多个zip文件,然后需要再次“连接”到一起,但这取决于您的需要。这可能是因为您可以压缩更大的块(取决于它们被压缩的程度),请定义“大”。此外,发送x行/字节,然后在完成后再发送一次也不是很困难。这实际上取决于最终存储数据的位置。在数据库上?@Lee Taylor,100+Mb未压缩。分割成多个请求或文件也是一种选择,但首先我想尝试使用流式压缩解决方案。那么,这大概是文本数据?为什么有这么多数据?浏览器的数据来自哪里?服务器?@leetylor是的,那是文本数据。数据源于服务器,但这是一个完全独立的系统,和我们发送压缩CSV文件的目标服务器完全不同。我们可以在客户机上对该数据进行一些处理。而且那些服务器也不能直接对话看看我想我会在1MB点开始“分块”你的数据,看看你是怎么做的。因此,您将得到100多个zip文件,然后需要再次“连接”到一起,但这取决于您的需要。可能你可以压缩更大的块(取决于它们被压缩的程度)