Node.js的Formidable模組的使用,方便快捷
阿新 • • 發佈:2018-11-02
服務用的是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