|
阅读:6998回复:0
express文件上传中间件Multer 1.x 的使用说明
说明
multer是express官方推荐的文件上传中间件,它是在busboy的基础上开发的。目前multer的最新版本为:~1.1.0。 本文所有代码段均使用此版本。 multer的官方地址:GitHub 配置 在nodejs下的package.json中添加multer依赖,运行加载依赖库。 新建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 + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]); } }); //添加配置文件到muler对象。 var upload = multer({ storage: storage }); //如需其他设置,请参考multer的limits,使用方法如下。 //var upload = multer({ // storage: storage, // limits:{} // }); //导出对象 module.exports = upload; 使用 testController.js var muilter = require('./multerUtil'); //multer有single()中的名称必须是表单上传字段的name名称。 var upload=muilter.single('file'); exports.dataInput = function (req, res) { upload(req, res, function (err) { //添加错误处理 if (err) { return console.log(err); } //文件信息在req.file或者req.files中显示。 console.log(req); }); } app.js var testController=require('./testController'); app.post('/dataInpute',testController.dataInput); 其他说明 1.文件上传有以下方法
表单记得加上 enctype=‘multipart/form-data’ 3.对上传文件大小限制,名称限制等均可在limits中加上,具体可加属性,请参考官方api。 转自:http://cnodejs.org/topic/564f32631986c7df7e92b0db |
|
最新喜欢: |