Node.js 带有connect multiparty和body解析器的空req.files

Node.js 带有connect multiparty和body解析器的空req.files,node.js,express,multipartform-data,body-parser,Node.js,Express,Multipartform Data,Body Parser,我正试图在我的api上用连接多方上传一个文件,但我无法让它正常工作 下面是我的代码(一个示例,因为我的api有很多工作路径): 当我试图上传一个文件时,req.body和req.files都是空的{} 我知道Body Parser不再支持multipart/form data,所以我试图找到一种方法将其与另一个包一起使用,但迄今为止没有成功 我试过使用busboy,connect-busboy,multer,embible,express-embible,express-fileupload,但

我正试图在我的api上用
连接多方
上传一个文件
,但我无法让它正常工作

下面是我的代码(一个示例,因为我的api有很多工作路径):

当我试图上传一个文件时,
req.body
req.files
都是空的
{}

我知道
Body Parser
不再支持
multipart/form data
,所以我试图找到一种方法将其与另一个包一起使用,但迄今为止没有成功

我试过使用
busboy
connect-busboy
multer
embible
express-embible
express-fileupload
,但每次
请求文件
都是
未定义的,所以我觉得我在
connectmultiparty
方面取得了一些进展,因为
req.files
是空的

我见过一些类似问题的话题,比如,或者,但不幸的是,这些都没有帮助我

客户端中,我使用的是
高级REST客户端
邮递员


你知道我做错了什么吗?

对于任何有这个问题的人,我发现删除Postman上值为“application/javascript”的内容类型标题对我来说都很有效。我只是一直没有注意到,而我尝试了与OP相同的不同包。

将enctype=“multipart/form data”放在html上的标记表单中

var express             = require('express');
var bodyParser          = require('body-parser');
var multipart           = require('connect-multiparty');
var app                 = express();
var multipartMiddleware = multipart({ uploadDir: './imagesPath' });

// Define middleware
app.use(bodyParser.urlencoded({ extended: true })); // Support encoded bodies
app.use(bodyParser.json());                         // Support json encoded bodies

var router = express.Router();                      // Get an instance of the express Router

router.post('/testFileUpload', multipartMiddleware, function(req, res) {
    console.log(req.body, req.files);

    // Some other code
});