将文件解压缩到内存中,调整文件,压缩并流式传输到客户端(Node.js)

Posted

技术标签:

【中文标题】将文件解压缩到内存中,调整文件,压缩并流式传输到客户端(Node.js)【英文标题】:Unzip file into memory, tweak file, zip and stream to the client (Node.js) 【发布时间】:2011-07-26 17:50:35 【问题描述】:

我正在尝试动态提供 Zip 文件,我想在脚本启动时将文件解压缩 1x,并且在每次请求时,在文本文件中包含一个字符串并将整个 zip 文件流式传输到客户端。

为了处理相当大的并发,我目前最好的解决方案是在 Ramdisk 中使用文件系统 Zip 和 Unzip...

似乎应该很容易将文件缓冲到内存中,并根据请求将其通过修改后的内容流式传输出来。

【问题讨论】:

问题是,我如何将文件解压缩到内存中,并将其(经过修改)流式传输到客户端。就像在 zip 中编辑文本文件,而不是提供 zip。没有一堆磁盘活动...... 您在 Node.js 中使用什么来进行压缩/解压缩逻辑? 【参考方案1】:

您可以使用 memcached 来存储文件。 Memcached 将任何数据存储在内存中,并且服务速度更快。

【讨论】:

我也可以将它作为一个变量存储在 node.js 进程中......但是如何修改它并将其缓冲出来?

以上是关于将文件解压缩到内存中,调整文件,压缩并流式传输到客户端(Node.js)的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件解压缩到 .NET 内存流?

在 S3 中使用 lambda 函数解压缩档案真的很慢

文件解压内存占用

在 S3 中上传输入流块后无法解压缩 gzip 文件

下载一个zip,解压缩并解析它 - 全部在内存中 - Java

wcf 服务错误请求 400 流式传输