在我的reactjs应用程序中,我将带有某些数据的上传文件发送给带有Axios的API。工作后,我设置了以下代码,并试图将其发送到后端。但是,我无法将文件发送到API。输入文件并将其发送到API后,网络选项卡中的请求有效负载将上传的文件变量显示为空{}始终。我该如何解决?
uploadFile(event) {
let file = event.target.files[0];
let data = new FormData();
data.append('file', file);
const files = [
{
name: "n1",
description: "d1",
file: data,
business_file_type: 1
}
];
const project_id = 1;
const allData = { files, project_id }
API.post('project/files/upload', allData)
.then(({ data }) => {
console.log("success", data);
})
.catch((err) => {
console.log("AXIOS ERROR: ", err);
})
}
<input className={classes.input} type="file" id="fileInput" name="ifile" onChange={this.uploadFile} />
尝试以下操作:将所有形式数据传递。
data.append('file', file);
const files_related_data = [
{
name: "n1",
description: "d1",
business_file_type: 1
}
];
const project_id = 1;
data.append('files_related_data', files_related_data);
data.append('project_id', project_id);
const allData = data;