我试图将一组对象上传到后端,这些对象的形式如下:,
{name: string, date: string, file: File}
.使用Fetch API发送对象数组的正确方法是什么?如果对象的某个属性的值必须是文件,则该方法是什么?
async function onSubmit(event) {
event.preventDefault();
const files = Array.from(event.target.file.files);
const validFiles = getOnlyValidFiles(files);
if (!files.length || !validFiles.length) {
console.log("No data to submit");
return;
}
const data = validFiles.map(getFileMeta);
const response = await fetch("/api/v1/upload/files", {
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8",
},
body: JSON.stringify(data),
});
const json = await response.json();
console.log(json);
}
getFileMeta
function getFileMeta(file) {
let [article, date] = file.name.split("_");
date = date.split(".")[0]; // exclude .pdf
const formData = new FormData();
formData.append("file", file);
return {
article,
reception,
file: formData,
};
}
E