想处理文件上传,首先,还需要引入一个模块formidable,使用npm安装一下
var formidable = require('formidable');
然后在post或者get页面里面实例化对象
var form = new formidable.IncomingForm(); //创建上传表单
设置下上传地址和编码
form.encoding = 'utf-8'; //设置编辑
form.uploadDir = 'public/file/video'; //设置上传目录
form.keepExtensions = false; //保留后缀
form.maxFieldsSize = 20 * 1024 * 1024; //文件大小 k
使用parse从req里面获取文件
form.parse(req,function(err, fields, files){
if(err) {
res.send(err);
return;
}
console.log(fields,"-------------",files);
res.send("wanhuo");
});
第一个值是错误,fields是包含的表单内的字符串信息,files包含的是上传的文件信息,上传成功后,可以到设置的文件目录查看文件
整体显示为:
router.post("/",function(req,res,next){
var form = new formidable.IncomingForm(); //创建上传表单
form.encoding = 'utf-8'; //设置编辑
form.uploadDir = 'public/file'; //设置上传目录
form.keepExtensions = true; //保留后缀
form.maxFieldsSize = 20 * 1024 * 1024; //文件大小 k
form.parse(req,function(err, fields, files){
if(err) {
res.send(err);
return;
}
console.log(fields,"-------------",files);
res.send("wanhuo");
});
});