Express采坑系列之上傳文件
阿新 • • 發佈:2018-04-03
ons mui .post body 提交 tina outer 獲取參數 array
封裝文件上傳工具multerUtil.js
創建util文件夾並在其下創建multerUtil.js
var multer=require(‘multer‘); var storage = multer.diskStorage({ //設置上傳後文件路徑,uploads文件夾會自動創建。 destination: function (req, file, cb) { cb(null, ‘./public/uploads‘) }, /** * 給上傳文件重命名,獲取添加後綴名 * 參數名 + 文件名 + 時間戳 **/ filename: function (req, file, cb) { var fileFormat = (file.originalname).split("."); // 返回文件名 cb(null, file.fieldname + ‘_‘ + fileFormat[0] + ‘_‘ + Date.now() + "." + fileFormat[fileFormat.length - 1]); } }); //添加配置文件到muler對象。 var upload = multer({ storage: storage });//如需其他設置,請參考multer的limits,使用方法如下。 //var upload = multer({ // storage: storage, // limits:{} // }); //導出對象 module.exports = upload;
POST接口
var express = require(‘express‘); var router = express.Router(); // 引入文件上傳工具 var multer = require(‘../util/multerUtil‘); /* POST提交文件. */ // muilter.single(‘file’), //適用於單文件上傳// muilter.array(‘file’,num), //適用於多文件上傳,num為最多上傳個數,上傳文件的數量可以小於num, // muilter.fields(fields), //適用於混合上傳,比如A類文件1個,B類文件2個 // 詳細信息:http://cnodejs.org/topic/564f32631986c7df7e92b0db router.post(‘/‘,multer.single(‘d‘), function(req, res, next) { /** * 獲取參數 */ var query = req.body; /** * 獲取文件 */ var file = req.file; console.log(‘post數據‘,query,file) res.send(‘hello , world‘); }); module.exports = router;
Express采坑系列之上傳文件