var form =newformidable.IncomingForm();
form.uploadDir="./tmp";//设置文件上传的目录 目录需手动创建
form.encoding ='utf-8';//设置表单域的编码
form.keepExtensions =true;//设置该属性为true可以使得上传的文件保持原来的文件的扩展名
var express =require('express');var router = express.Router();const path=require("path");var formidable =require('formidable');//引入formidable模块
router.post("/upload",(req,res)=>{var form =newformidable.IncomingForm();
form.encoding ='utf-8';//设置表单域的编码
form.uploadDir = path.join(__dirname +"/../tmp");//设置上传文件存放的文件夹,默认为系统的临时文件夹,可以使用fs.rename()来改变上传文件的存放位置和文件名
form.keepExtensions =true;//设置该属性为true可以使得上传的文件保持原来的文件的扩展名
form.parse(req,function(err, fields, fils){//fils接收到的是二进制图片文件//fields接收到的是formData,也就是其它的附加参数let key = Object.keys(fils)let sends =[]for(let j =0;j<key.length;j++){let keyname = key[j]var filename = fils[keyname].name;var nameArray = filename.split('.')var type = nameArray[nameArray.length -1];var name ='';for(var i =0; i < nameArray.length -1; i++){
name = name + nameArray[i];}var date =newDate();var time ='_'+ date.getFullYear()+"_"+ date.getMonth()+"_"+ date.getDay()+"_"+ date.getHours()+"_"+ date.getMinutes();var avatarName = name + time +'.'+ type;var newPath = form.uploadDir +"/"+ avatarName;
fs.renameSync(fils[keyname].path, newPath);//重命名
sends.push("/upload/"+avatarName)}
res.send({data:sends})//返回的信息})})
module.exports = router;