gpt4 book ai didi

node.js - 在 node.js 请求上连接 GZip/Deflate 数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:29 24 4
gpt4 key购买 nike

嗨,我知道 Concat 可以通过操作系统文件系统上的 Gzip 功能实现,

gzip -c a.txt > a.gzip
gzip -c b.txt > b.gzip

现在下面也是正确的,

cat a.txt b.txt | gzip -c > ab.gzip # is same as
cat a.gzip b.gzip > ab.gzip

在文件系统上,这对我来说似乎是正确的,但是当我尝试使用 node.js 实现相同的概念来连接、 header (预 gzip 内容)、主要内容(预 gzip)、侧边栏和其他小部件(这些部件是文件系统上的预 gzip 二进制数据文件),但它似乎对我不起作用,我只能看到第一个 block ( header )的文本内容和显示为随机二进制符号的其他附加内容。

首先想了解是否可能,如果可以,那么我如何实现分段缓存。

我只是想看看是否可以使用压缩分段缓存,否则 B 计划是使用普通分段缓存和 gzip 内容运行时。

var rs1 = fs.createReadStream('./node_fs/index/index.txt.gz');
var rs2 = fs.createReadStream('./node_fs/index/content.txt.gz');

res.write(rs1);
res.write(rs2);

此外,这两个文件都是使用 gzip.exe 命令行压缩的,如果我只编写其中一个文件,它可以正常工作,但附加不起作用。

最佳答案

您的原始 gzip 示例“有效”,因为 gunzip 工具是为处理单个文件中的多个条目而编写的。它不适用于某些浏览器,因为它们需要单个 gzip 条目。

参见:Concatenate multiple zlib compressed data streams into a single stream efficiently

关于node.js - 在 node.js 请求上连接 GZip/Deflate 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16868052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com