php - 使用 laravel 上传多个文件
问题描述
我目前正在尝试通过 API 端点上传多个文件。这是一个 POST 请求,它的主体包含表单数据。
我无法为每个循环完成它,但如果没有 foreach 并且只有一个文件,它就可以正常工作。
不起作用的代码:
$path = config('app.photos_dir');
if($request->hasFile('photos'))
{
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
try {
$files = $request->file('photos');
foreach ($files as $file){
$file->move($path, $files->getClientOriginalName());
}
} catch (\Exception $exception) {
return response(['status' => '500', 'error' => 'Error while uploading files'], 500);
}
return response(['status' => '200', 'data' => ['Photos uploaded correctly']], 200);
}
如上所述,一旦我删除 foreach 子句,它就会开始工作(尽管这只会上传在“上传”窗口提示中选择的第一个/最后一个文件)
$files = $request->file('photos');
$files->move($path, $files->getClientOriginalName());
不太确定这里有什么问题。我发现其他人在循环请求文件时没有问题,但就我而言,无论我做什么都不会。
解决方案
已修复 - 我找到了解决方案。出于某种原因,我不得不将身体的参数名称从照片附加到照片[]
推荐阅读
- wordpress - 在 WordPress 多站点注册期间获取当前用户的指定站点
- c# - 数据网格中的复选框
- javascript - 如何将编码字符串作为参数发送到 url 字符串中并在新选项卡中打开
- laravel - 每个作业的 Laravel Horizon 运行时还是总吞吐量?
- jquery - 拦截 HTTP 请求
- java - 执行查询时在服务器端出错
- css - flexbox 中的 align-self 属性不起作用
- angularjs - 如何增强对现有 spring boot 和 anjularjs 应用程序的 csrf 保护?
- laravel - 有没有办法将固定高度和动态高度设置为html页面,然后将其转换为pdf?
- c# - 从总计中拆分发票