就这样啦
/生成压缩文件夹并上传
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/' ,
expand: true
}
]) ;
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)
}
})
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/' ,
expand: true
}
]) ;
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) ;
}
} ;
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) ;
}
} ;