Node.js zip文件的压缩与解压缩

文件的压缩 fs、archiver模块

// 创建一个可写文件流,以便把压缩的数据导入
var output = fs.createWriteStream(zip_path);
//archiv对象,设置等级
var archive = archiver('zip', {
  zlib: { level: 9 } // Sets the compression level.
});
//管道连接
archive.pipe(output);
//压缩文件到压缩包
archive.file(DAT_path, { name: dat_name });
//压缩数据导压缩包
archive.append(rep.getRepFile(params),{name: rep_name});
//开始压缩
archive.finalize();
//监听压缩、传输数据过程中的错误回调
archive.on('error', function(err) {//压缩失败        
});
//监听压缩、传输数据结束
output.on('close', function() {//压缩完成
})

文件的解压缩 fs、unzip模块

//判断压缩文件是否存在
if(!fs.existsSync(zip_path))  return;
//创建解压缩对象
let unzip_extract = unzip.Extract({path:taget_path});
//监听解压缩、传输数据过程中的错误回调
unzip_extract.on('error',(err)=>{
});
//监听解压缩、传输数据结束
unzip_extract.on('finish',()=>{
});
//创建可读文件流,传输数据
fs.createReadStream(zip_path).pipe(unzip_extract);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容