封装文件上传工具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;