nodejs zip 解压zip文件

官方文档上写的教程是

var unzippedfs = zipper.sync.unzip(“pack.zip”).memory();
首先unzip是一个文件,写egg时浏览器传的流,可以转成buffer,但是文档上未写buffer的情况
源码分析main.js找unzip()

ZipLocal.unzip = function (file, _callback) {

    var callback = _callback || function () { };
    var zipped_obj = JSZip.make();

    if (typeof file === "string") {
        
    }
    else if (file instanceof Buffer) {
        
    }
    else {
        callback(new Error("Unsupported type: data is neither a path or a Buffer"));
    }

}

其实他是写了这个功能的,只是在文档上没说明,所以解压的使用方法是

                var unzippedfs = zipper.sync.unzip(buf).memory();
                for (const fileName of unzippedfs.contents()) {
                    var buff = unzippedfs.read(fileName, "buffer");
                    let fileDeepPath = path.resolve(dir + '/' + fileName)
                    fs.existsSync(path.dirname(fileDeepPath)) == false && this.ctx.app.mkdir(path.dirname(fileDeepPath));
                    fs.writeFileSync(fileDeepPath, buff);
                }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值