【问题标题】:List<IFormFile> null when trying to upload尝试上传时 List<IFormFile> null
【发布时间】: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


【解决方案1】:

我只需要将 name="files" 添加到 DropZone 组件。

<input ref={this.fileInputRef} className="dropInput" type="file" name="files" multiple onChange={this.onFilesAdded}/>

不要将文件从组件状态附加到 FormData。

【讨论】:

    猜你喜欢
    • 2019-03-27
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 2022-07-06
    • 2021-03-13
    • 2021-08-12
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多