参数说明
createGzip(options) options 可选 对象数组 属性设置 返回值:对象 options相关属性: flush:zlib.Z_NO_FLUSH 默认值,预定每次压缩多少数据 zlib.Z_SYNC_FLUSH 分成若干个压缩块,每次将一个数据写入缓存区,然后在写入10位长度空白数据 zlib.Z_PARTLAL_FLUSH 根据输出缓存区能容纳的大小写入压缩数据,不限制输出数据的字节数 zlib.Z_FULL_FLUSH 输出缓存区的剩余数据全部输出 chunkSize:默认16*1024,数据分块时块的大小,单位字节 windowBits:默认15,窗口对数,数值越大压缩越好,设定值8~15。无zlib头,设定值-15~-8 level:默认-1,自动设定一般为6。压缩级别范围0~9,设0不压缩,设1最低,速度最快 memLevel:默认8,压缩分配内存范围1~9,设1内存使用少,压缩程度降低 strategy:zlib.Z_DEFAULT_STRATEGY 默认值,标准压缩 zlib.Z_HUFFMAN_ONLY 压缩时使用霍夫曼编码(无损压缩) zlib.Z_FILTERED 对压缩数据过滤,达到更好效果 zlib.Z_RLE 压缩时使用游程编码,对PNG图像压缩可达到最佳效果 zlib.Z_FIXED 禁止使用霍夫曼编码,目的简化解码过程
示例
var fs = require("fs");
var zlib = require("zlib");
var gzip = zlib.createGzip(); //创建Gzip对象
var crs = fs.createReadStream("test.txt");
var cws = fs.createWriteStream("test.txt.zip");
crs.pipe(gzip).pipe(cws); //压缩test.txt文件
注:pipe()方法,参考:stream