我正在尝试制作一个包含multipart / form-data的API端点。
目前,我还没有写好html。但是我很可能会创建一个包含多个文本输入,复选框和文件上传的表单。我将把表单作为multipart / form-data发送到所述API端点。我正在使用multipart / form-data,因为一旦它到达API端点,我将把图像上传到AWS存储桶。是否有一些类似于request.body或request.params的东西,可以在请求内部获取multipart / form-data?
我尝试通过POST request.body访问表单数据值,但是body是一个空对象。
Routes.js
module.exports = (function() {
return {
addProfile: function(req, res){
try {
console.log(req.body); // <-- Empty object
res.status(200).send('yoo');
} catch (err) {
res.status(200).send({error:err});
}
}
}
})();
Server.js
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({extended: true});
app.use(bodyParser.json());
答案 0 :(得分:0)
使用multiparty
中间件来分析上传的文件。
const multiparty = require('multiparty');
module.exports = (function() {
return {
addProfile: function(req, res){
try {
var form = new multiparty.Form();
form.parse(req, function(err, fields, files) {
console.log(files);
console.log(fields);
});
res.status(200).send('yoo');
} catch (err) {
res.status(200).send({error:err});
}
}
}
})();