前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs文件上传组件multer使用

nodejs文件上传组件multer使用

作者头像
用户1141560
发布2017-12-26 11:15:37
2.8K0
发布2017-12-26 11:15:37
举报
文章被收录于专栏:西安-晁州

多图上传,发送端:

代码语言:javascript
复制
var express = require('express')
var rp = require('request-promise')

var fs = require("fs");

var app = express()

app.get('/send', function(req, res, next) {
    var options = {
        method: 'POST',
        uri: 'http://127.0.0.1:3000/profile',
        formData: {
            avatar: [fs.createReadStream("./ad.jpg"), fs.createReadStream("./222.png")]
        },
        headers: {
            // 'content-type': 'application/x-www-form-urlencoded'
        }
    };

    rp(options)
        .then(function(body) {
            // POST succeeded... 
            res.send(body);
        })
        .catch(function(err) {
            // POST failed... 
            res.send(err);
        });
});


app.listen(3001);

接收端:

代码语言:javascript
复制
var express = require('express')
var multer = require('multer')
var _ = require("lodash");

var app = express()
var storage = multer.diskStorage({
    //设置上传后文件路径,uploads文件夹会自动创建。
    destination: function(req, file, cb) {
        cb(null, './uploads')
    },
    //给上传文件重命名,获取添加后缀名
    filename: function(req, file, cb) {
        var fileFormat = (file.originalname).split(".");
        cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
    }
});

var fileFilter = function(req, file, cb) {
        cb(null, false);   //这里设置为false则直接拒绝上传了,实际使用应为true
    }
    //添加配置文件到muler对象。
var upload = multer({
    storage: storage,
    fileFilter: fileFilter
});


var up = upload.array('avatar');

app.post('/profile', function(req, res, next) {
    // req.file 是 `avatar` 文件的信息\
    up(req, res, function(err) {
        if (err) {
            // An error occurred when uploading 
            res.send(err);
            return
        }
        res.send("upload success");
        // Everything went fine 
    })
});


app.post('/profile2', function(req, res, next) {
    // req.file 是 `avatar` 文件的信息
    console.log(req.body);
    res.json({ "succ": true, "msg": "请求成功" });
});

app.listen(3000);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档