[英]NodeJs Access [object FormData]
我正在尝试使用 Multer 将 Vue.3/Axios 中的多个对象(2 个字符串、1 个日期和 1 个文件)的数组发布到 Nodejs 服务器。 但是在 Nodejs 服务器中,当我 console.log req.files 和 req.body 他们返回
文件 - []
&
正文 - [Object: null prototype] { formData: '[object FormData]' }
如何从该对象 FormData 访问我的数据。
Axios 邮报
async post(images) {
var formData = new FormData();
for (let i = 0; i < images.length; i++) {
let file = Array.from(images[i].file[0]);
formData.append("file", file);
formData.append("title", images[i].title);
formData.append("project", images[i].project);
formData.append("date", images[i].date);
}
var isValid = true;
if (isValid) {
console.log(
await axios
.post(
`http://localhost:3080/api/image/post`,
{
formData,
},
{
headers: {
"Content-Type": "multipart/form-data",
},
}
)
.then((res) => console.log(res))
.catch((err) => ("Error Occured", err))
);
}
}
其中 images 是一个代理,其中包含一个包含图像对象的数组:
date: "2022-06-10"
file: FileList {0: File, length: 1}
project: "Project Name"
title: "Test"
Multer是这样设置的
const multer = require('multer')
var storage = multer.diskStorage({
destination: function (request, file, callback) {
callback(null, './uploads/');
},
filename: function (request, file, callback) {
callback(null, file.originalname)
}
});
var upload = multer({ storage: storage });
app.post('/api/image/post', upload.array('file'), function (req, res, next)){
console.log(req.body)
}
删除对象属性的简写,只使用formData
:
await axios
.post(
`http://localhost:3080/api/image/post`,
formData,
{
headers: {
"Content-Type": "multipart/form-data",
},
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.