nodejs 对文件进行zip压缩

nodejs yekong

使用nodejs对文件操作时,经常会遇到需要对文件进行zip压缩的情况。如果需要过滤一些不需要压缩的文件的话,可以使用其他方法nodejs 压缩过滤不需要压缩的文件

使用

zip("./wenjian', "./wenjian.zip", (s) => console.log(s))

压缩函数

import fs from 'fs'
import path from 'path'
import archiver from 'archiver'

function zip(url, name, cb) {
    // init
    var output = fs.createWriteStream(name);//创建数据流
    output.on('close', () => cb('finish'));//创建完成
    // zip
    var archive = archiver('zip', {zlib: {level: 9}});//设置压缩格式和等级
    archive.on('error', err => cb(err));
    archive.pipe(output);
    if (fs.statSync(url).isFile()) archive.file(url, {name: path.basename(url)});//文件
    else archive.directory(url, '');//文件夹//archive.directory(url, false);
    archive.finalize();
}

export {zip}

喜欢