繁体   English   中英

解析node.js Express应用程序,形式为enctype =“ multipart / form-data”销毁请求主体?

[英]Parse node.js express app, form enctype=“multipart/form-data” destroys request body?

我正在使用解析功能构建应用程序后端,我需要上传一些图像,但是当我使用enctype形式为multipart / form-data的形式发布到应用程序网址时,主体为空?

这是收到帖子的方法:

// 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为空?

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

Body-parser也不再适用于文件上传,因此您需要使用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/'
}))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM