【问题标题】:Laravel 6 - How to upload multi file through laravel?Laravel 6 - 如何通过 laravel 上传多个文件?
【发布时间】:2021-10-18 04:16:57
【问题描述】:

我为通过 laravel 6 上传文件编写了这些代码。

但我只成功上传了一个文件,即使我确信我在上传时通过 dd($request->files) 的检查获得了所有文件

一开始$index = 0,最后变成1,第一轮没问题,但没有继续第二轮。

我不知道为什么,请帮忙!谢谢~

if($request->hasFile('files')){
    
    $index = 0;
    foreach($request->files as $key=>$file){

        $originalName = $file[$index]->getClientOriginalName();
        $size = $file[$index]->getClientSize();
        $ext = $file[$index]->getClientOriginalExtension();
        $newName = date('Ymd').mt_rand(100,999).$originalName;

        $savePath = '/attachments/'.$newName;
        $movePath = base_path().'/public/attachments/'.$newName;
 
        $file[$index]->move(base_path().'/public/attachments',$newName);

        $attachment = new attachment();
        $attachment->bulletin_id = $bulletin->id;  //already got this value before
        $attachment->original_name = $originalName;
        $attachment->name = $newName;
        $attachment->type = $file[$index]->getClientMimeType();
        $attachment->path = $savePath;
        $attachment->size = ($size/1000);
        $attachment->save();
        ++$index;
    }
}

【问题讨论】:

  • 不要使用索引而不是使用 foreach 键来保存功能

标签: laravel file foreach upload


【解决方案1】:

你试试这个方法很简单

foreach($request->file('files') as $key=>$file){

$originalName = $file->getClientOriginalName();
$size = $file->getClientSize();
$ext = $file->getClientOriginalExtension();
$newName = date('Ymd').mt_rand(100,999).$originalName;

$savePath = '/attachments/'.$newName;
$movePath = base_path().'/public/attachments/'.$newName;

$file->move(base_path().'/public/attachments',$newName);

$attachment = new attachment();
$attachment->bulletin_id = $bulletin->id;  //already got this value before
$attachment->original_name = $originalName;
$attachment->name = $newName;
$attachment->type = $file->getClientMimeType();
$attachment->path = $savePath;
$attachment->size = ($size/1000);
$attachment->save();

}

【讨论】:

  • 没问题!你的善良让人们的生活更美好。 :)
猜你喜欢
  • 1970-01-01
  • 2020-05-12
  • 2015-01-30
  • 2019-09-30
  • 1970-01-01
  • 2017-08-16
  • 2020-08-04
  • 1970-01-01
  • 2015-07-28
相关资源
最近更新 更多