我有一个对象数组,格式如下:
array1: [ { name: 'A', image: File {name: "Desert.jpg", path: "C:\Users\Public\Pictures\Sample Pictures\Desert.jpg", lastModified: 1247549551658, lastModifiedDate: Tue Jul 14 2009 11:02:31 },
{ name: 'B', image: File{name: "Desert.jpg", path: "C:\Users\Public\Pictures\Sample Pictures\Tulips.jpg", lastModified: 1247549551658, lastModifiedDate: Tue Jul 14 2009 11:02:31} }, ..... ]
我正在使用以下方式将 array1 发送到我的后端服务器:
formData.append('array1', JSON.stringify(array1))
在后端,我收到的数组为:
let array1 = JSON.parse(req.body.array1)
但在后端,文件是空的。我怎样才能解决这个问题?? 前端在 React 中,后端在 Node 中。
最佳答案
您可以为数组中的每个元素创建一个fetch
,并将所有数据放入FormData 中。 :
const promises = array1.map(obj => {
const formData = new FormData();
Object.keys(obj).forEach(key => {
formData.append(key, obj[key]);
});
return fetch('/your-file-upload-endpoint', {
method: 'POST',
body: formData
});
}
Promise.all(promises).then(() => {
console.log('All files were uploaded');
}).catch(error => {
console.error(error);
});
关于node.js - 如何使用 formData.append() 在对象数组中发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51138783/