1. 程式人生 > >Node.js的Formidable模組的使用,方便快捷

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