multer文件上传实例

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:

<form id='editfile' method='post' action='/upload' enctype='multipart/form-data'>
    <input name="text" type="text"/>
    选择图片:<input name="avatar" id='upfile' type='file'/>
    <input type='submit' value='提交'/>
</form>

 

posted @ 2017-11-24 11:45  申小贺  阅读(490)  评论(0编辑  收藏  举报