【发布时间】:2017-04-27 16:14:46
【问题描述】:
我正在尝试在我的 api 上使用connect-multiparty上传文件,但我无法使其正常工作。
这是我的代码(一个示例,因为我的 api 有很多工作路线):
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
});
当我尝试上传文件时,req.body 和 req.files 都是空的 {}
我知道Body-Parser 不再支持multipart/form-data,所以我试图找到一种方法将它与另一个包一起使用,但到目前为止没有成功。
我试过busboy、connect-busboy、multer、formidable、express-formidable、express-fileupload,但每次req.files都是undefined,所以我觉得我做了一些通过将req.files 留空,以connect-multiparty 取得进展。
我见过一些有类似问题的主题,例如 this one、this one 或 this one,但不幸的是,这些主题都没有帮助到我。
在客户端我使用Advanced REST Client和Postman。
任何想法我做错了什么?
【问题讨论】:
标签: node.js express multipartform-data body-parser