1、首先需要安装formidable,命令:npm i formidable --save
2、在js文件中引入formidable
代码如下所示:
fn(req, callback) {
// req 是前端传过来的参数
//处理上传图片
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
if (err) {
return;
}
//设置路径
const ROON = path.dirname(__dirname)
const PUBLIC = path.join(ROON, 'public');
//设置文件夹名称
const IMAGE = path.join(PUBLIC);
let file = files.file;
//判断文件夹是否存在
if (!fs.existsSync(IMAGE)) {
fs.mkdirSync(IMAGE)
}
//获取时间戳
let data = new Date().getTime();
//产生随机数
let roun = Math.floor(Math.random() * 10000);
//获取图片的后缀
let ext = path.extname(name);
//图片的名称
let username = data + roun + ext;
//图片的读和写
let read = fs.createReadStream(file.path);
let write = fs.createWriteStream(path.join(IMAGE, username));
read.on('end', () => {
// 回调函数
callback(fields);
});
read.pipe(write);
})
}