1. 程式人生 > >Express采坑系列之上傳文件

Express采坑系列之上傳文件

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采坑系列之上傳文件