解析node.js表达app,形式enctype =" multipart / form-data"摧毁请求体?

时间:2014-07-14 15:50:38

标签: node.js parsing express

我正在使用解析构建app后端,我需要进行一些图片上传,但是当我使用表单enctype为multipart / form-data发布到app url时,正文是空的?

这是收到帖子的方法:

// These two lines are required to initialize Express in Cloud Code.
var express = require('express');
var app = express();

// Global app configuration section
app.set('views', 'cloud/views');  // Specify the folder to find templates
app.set('view engine', 'ejs');    // Set the template engine
app.use(express.bodyParser());    // Middleware for reading request body

app.post('/add_station', function(req, res) {
       console.log(JSON.stringify(req.body));
       res.send(JSON.stringify(req.body));

});

当表单类型为multipart / form-data时,req.body为空?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Express 4.0或更高版本,则不再捆绑中间件。这意味着您需要手动安装它们。

正文解析器也不再适用于文件上传,因此您需要使用multer之类的内容。

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var multer  = require('multer')

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(multer({
    dest: './uploads/'
}))