gpt4 book ai didi

php - Laravel 5,尝试多文件上传,Request::file() 只返回最后一个文件?

转载 作者:可可西里 更新时间:2023-11-01 00:13:39 26 4
gpt4 key购买 nike

我正在尝试使用 Laravel 5 的 Request facade 使用相同的 key 上传多个文件。从我在别处读到的内容来看,执行此操作的正确方法是调用 Request::file() 而无需将参数传递给 ::file() 方法。

但是,这似乎只返回请求中发送的最后一个文件。

标题

POST /test/service/upload HTTP/1.1
Host: www.****.dev
X-CSRF-TOKEN: 2DQBuTuy50EELFen5vXFaOv1cyXICmAISUx8LoCS
Cache-Control: no-cache

----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="photo"; filename="10464005_10152969193248906_6272325120604924631_n.jpg"
Content-Type: image/jpeg


----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="photo"; filename="10458555_10152969192978906_1569926627111581344_n.jpg"
Content-Type: image/jpeg


----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="photo"; filename="10365774_10152969188498906_1884545544754633531_n.jpg"
Content-Type: image/jpeg


----WebKitFormBoundaryE19zNvXGzXaLvS5C

PHP

    $files = Request::file();
$names = [];

foreach ($files as $file) {
$names[] = $file->getClientOriginalName();
}
return $names;

响应

[
"10365774_10152969188498906_1884545544754633531_n.jpg"
]

是否有任何类型的配置或 header 是我必须为这项工作适当设置的?如果有帮助,这将是一个基于 AJAX 的请求,我一直在使用 Google Chrome 扩展程序“Postman”对此进行测试。

如有任何帮助,我们将不胜感激!

最佳答案

使用文件元素数组作为html,如下所示

<input type="file" name="photo[]">
<input type="file" name="photo[]">

在表单和laravel中添加enctype属性以获取文件使用文件的 key 如下

$files = Request::file('photo');
$names = [];

foreach ($files as $file) {
$names[] = $file->getClientOriginalName();
}
return $names;

根据我的说法,它应该有效。

关于php - Laravel 5,尝试多文件上传,Request::file() 只返回最后一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30021086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com