【发布时间】:2019-09-18 22:57:31
【问题描述】:
团队成员和我一直在努力让一个多文件上传组件与 asp.net 后端一起工作。团队成员编写了后端,所以我对 api 到底在做什么知之甚少,但是当我们使用 Postman 发送请求时,文件确实到达并且在模型调试器中可见。
我尝试了各种从我的 React 前端发送文件的方法,包括作为状态的直接副本发送,作为带有附加信息的数组发送,以及作为一组独立文件发送,如 @ 所见987654321@。
是的,表单正在使用
<form encType="multipart/form-data"/>
但是文件上传本身在我设计的 DropZone 组件后面被混淆了。
团队成员和我都是 React 的新手,对这个细节感到很沮丧。
API 调用:
const data = new FormData(form);
for(var i=0; i <this.state.files.length; i++){
filesArray.push('files'+ i, this.state.files.item(i));
}
data.append("files", filesArray);
fetch('http://localhost:5824/api/Claim', {
method: 'POST',
body: data,
});
DropZone 的相关部分,格式为:
<input ref={this.fileInputRef} className="dropInput" type="file" multiple onChange={this.onFilesAdded}/>
<span>Upload Files</span>
【问题讨论】:
-
曾经尝试在您的提取选项中明确指定
'Content-Type': 'multipart/form-data',? -
您的控制器操作是什么?是否有任何演示可以重现您的问题?
标签: reactjs asp.net-core file-upload