Node.js的Formidable模块的使用,方便快捷

服务用的是express ,如果不是很老的express框架,都有自带formidable  如果没有就下载一个  npm i formidable

 1 var formidable = require('formidable');
 2 var fs = require("fs");
 3 app.use('/test',function(req,res){
 4     console.log("有文件了");
 5     var form = new formidable.IncomingForm();
 6     form.encoding = 'utf-8';
 7     form.uploadDir = path.join(__dirname + "/../page/upload");
 8     form.keepExtensions = true;//保留后缀
 9     form.maxFieldsSize = 2 * 1024 * 1024;
10     //处理图片
11     form.parse(req, function (err, fields, files){//错误,json,文件
12         var filename = files.img.name;
13         var nameArray = filename.split('.');
14         var type = nameArray[nameArray.length - 1];
15         var date = new Date();
16         var time = '_' + date.getFullYear() + "_" + date.getMonth() + "_" + date.getDay() + "_" + date.getHours() + "_" + date.getMinutes();
17         var avatarName = time + '.' + type;
18         var newPath = form.uploadDir + "/" + avatarName;
19         fs.renameSync(files.img.path, newPath);  //重命名
20         res.send("接收成功")
21     });
22 }

当调用form.parse的时候说明已经保存好图片了,callback函数 有三个 参数  第一个是保存出错, 第二个是文本,JSON ,第三个是文件 

var filename = files.[你上传文件的名字].name

posted @ 2018-11-02 12:07  罪途  阅读(313)  评论(0编辑  收藏  举报