本地生成图片,xlsx,打包压缩,并删除本地文件夹

就这样啦

/生成压缩文件夹并上传
var folderUrl = __dirname +  '/down/' + phone ;
var zipUrl = __dirname +  '/' + phone +  '.zip' ;
fs. mkdir(folderUrl function (err) {
    //生成图片1
    var base64Data0 = imgData[ 0]. replace( /^data:image\/\w+;base64,/ "") ;
    var dataBuffer0 =  new Buffer(base64Data0 'base64') ;
    fs.writeFile(folderUrl +  "/img0.jpg" dataBuffer0) ;
    //生成图片2
    var base64Data1 = imgData[ 1]. replace( /^data:image\/\w+;base64,/ "") ;
    var dataBuffer1 =  new Buffer(base64Data1 'base64') ;
    fs.writeFile(folderUrl +  "/img1.jpg" dataBuffer1) ;
    //生成excl
    var data = [[ "卡类型" "姓名" "电话" "email" "卡邮寄地址" "配偶姓名" "配偶电话" "朋友姓名" "朋友电话" ,] [cardName name phone email address partnerName partnerPhone friendName friendPhone]] ;
    var file = xlsx. build([{ name"用户资料" data: data}]) ;
    fs.writeFileSync(folderUrl +  '/user.xlsx' file 'binary') ;
    //生成压缩包
    var archive = archiver( 'zip') ;
    var output = fs.createWriteStream(zipUrl) ;
    archive.pipe(output) ;
    archive. bulk([
        {
            src: [ '**'] ,
            cwd: __dirname +  '/down/' ,
            expandtrue
        }
    ]) ;
    archive. finalize() ;
    output. on( 'close' function () {
        fs. readFile(zipUrl '' function (err data) {
            if (!err) {
                var file =  new AV. File(phone+ '.zip' data) ;
                file. save(). then( function (savedFile) {
                    record. set( 'zipFile' savedFile)
                    record. save(). then( function(){
                        //删除文件和文件夹
                        fs.unlinkSync(zipUrl) ;
                        deleteFolderRecursive(folderUrl) ;
                    }). catch( function(error){
                        console. log(error) ;
                    })
                } function (error) {

                })
            } else{
                console. log(err)
            }
        })
    });
function  deleteFolderRecursive(path) {
    var files = [] ;
    if( fs.existsSync(path) ) {
        files = fs.readdirSync(path) ;
        files. forEach( function(file ,index){
            var curPath = path +  "/" + file ;
            if(fs.statSync(curPath).isDirectory()) {  // recurse
                deleteFolderRecursive(curPath) ;
           else // delete file
                fs.unlinkSync(curPath) ;
            }
        }) ;
        fs.rmdirSync(path) ;
    }
} ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值