我有一个问题与表单数据。我有许多文件在一个数组,但当我必须得到他们在我的控制器我使用file()
,但它不返回上传的文件的集合,所以我正在寻找一个解决方案,使之成为可能。我的客户端是angular,我的API是Laravel。
所以当我发送请求时,我得到我的文件:
(2) [File, File]
但是我不知道如何创建一个集合,所以我被这段代码卡住了,它只给了我一个文件。当我执行dd()
时,我只得到一个文件。
$files= $req->file('files');
我想这样写:
$files->each(function ($item, $key) {
//some code...
});
编辑我更改了客户端的逻辑,以创建许多具有不同键名的文件,以便在获得请求内容后循环。
for (var i = 0; i < email.file.length; i++) {
form.append('file'+[i], email.file[i], email.file[i].name);
}
现在我有:
#parameters: array:2 [▼
"file0" => SymfonyComponentHttpFoundationFileUploadedFile {#33 ▶}
"file1" => SymfonyComponentHttpFoundationFileUploadedFile {#34 ▶}
]
我得到一个对象,我想把它转换成数组或集合。
我替换了这个:
$files= $req->file('files');
:
$req->files->all();
thanks to this doc