nodejs 文件上传项目地址:https://github.com/BlingSun/nodejs-file-upload-multer
nodejs-file-upload-multer
multer文件上传实例
package version:
"multer": "^1.1.0","md5": "^2.1.0",
使用方法:
fileupload.js:
var multer = require('multer');var md5 = require('md5');var config = require('./config')var storage = multer.diskStorage({ //设置上传文件路径,以后可以扩展成上传至七牛,文件服务器等等 //Note:如果你传递的是一个函数,你负责创建文件夹,如果你传递的是一个字符串,multer会自动创建 destination: config.upload.path,
//TODO:文件区分目录存放 //给上传文件重命名 filename: function (req, file, cb) { //var fileFormat = (file.originalname).split("."); //console.log(req.body); cb(null, Date.now()+file.originalname); } }); //添加配置文件到muler对象。 var upload = multer({ storage: storage, //其他设置请参考multer的limits //limits:{} }); //导出对象 module.exports = upload;
或者这样设置设置上传后文件路径,uploads文件夹会自动创建。 destination: function (req, file, cb) { cb(null, './public/uploads') }
index.js
var express = require('express');var router = express.Router();var upload = require('./fileupload');//文件上传服务
//multer的single()中的参数必须是表单上传字段的file的name值。
router.post('/upload', upload.single('avatar'), function (req, res, next) { if (req.file) { res.send('文件上传成功') console.log(req.file); console.log(req.body); }});
form: