首页 Node.js核心模块手册

参数说明


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