FormData 的不明确行为:向 API 发送文件数组

我正在编写一个本机反应应用程序,我应该在其中将一组文件发送到端点。

根据FormData.append MDN 文档

与常规表单数据一样,您可以附加多个具有相同名称的值。... 这种技术使处理多文件上传变得更简单,因为由此产生的数据结构更有利于循环。

因此,我的代码:

data.append('file', document);
// document is a document picker object
// {"size":...,"name":"...","uri":"...","type":"..."}

发送请求时,我收到 500 响应并出现此错误:

不能将 Illuminate\Http\UploadedFile 类型的对象用作数组

用简单的英语来说,端点期待一个数组,但它得到了一个 UploadedFile。FormData 不应该发送一个数组吗?

我的代码有什么错误?如果您需要更多代码片段,请请求。


狐的传说
浏览 128回答 1
1回答

婷婷同学_

从错误消息来看,听起来你的服务器端技术是 PHP。如果是这样,您可以通过在它后面添加来告诉 PHP 这file是一个数组,例如:[]data.append('file[]', document); // −−−−−−−−−−−−−−^^
打开App,查看更多内容
随时随地看视频慕课网APP