node.js express框架实现文件上传与下载功能实例详解

2020-06-17 05:35:14易采站长站整理

archive.finalize();
archive.on('end', function (err) {
fn(null, {"name": name, "path": zipPath});
});
archive.on('error', function (err) {
fn(new Error("压缩文件异常"), null);
});
}
} else {
fn(new Error("id或name不能为空"), null);
}
} catch (e) {
fn(new Error(e.message), null);
}
};

最后是提出的公共方法toolUtil的代码,这个单独做为一个js文件维护。


const path = require('path');
const fs = require('fs');
/**
* 创建目录
* @param dirpath
*/
exports.mkdirSync = function (dirpath){
if (!fs.existsSync(dirpath)) {
var pathtmp;
dirpath.split(path.sep).forEach(function(dirname) {
if (pathtmp) {
pathtmp = path.join(pathtmp, dirname);
}
else {
pathtmp = dirname;
}
if (!fs.existsSync(pathtmp)) {
fs.mkdirSync(pathtmp);
}
});
}
};
//删除所有的文件(将所有文件夹置空)
exports.emptyDir = function(dirpath){
var self = this;
//读取该文件夹
var files = fs.readdirSync(dirpath);
files.forEach(function(file){
var filePath = dirpath + '/' + file;
var stats = fs.statSync(filePath);
if(stats.isDirectory()){
self.emptyDir(filePath);
}else{
fs.unlinkSync(filePath);
}
});
};

希望本文所述对大家node.js程序设计有所帮助。