【问题标题】:Upload multiple images laravel in single row table在单行表中上传多个图像 laravel
【发布时间】:2020-04-26 05:41:18
【问题描述】:

我正在尝试将多张图片上传到我的数据库,然后将其显示在另一个页面上,但是当我上传它们时,我只能看到一张图片而看不到其他图片。 这是我的html

<div class="form-group">
<label for="inputGroupFile01">Upload foto's</label>
<input type="file" name="image" class="form-control-file" id="inputGroupFile01" aria-describedby="inputGroupFileAddon01" multiple>
</div>

这是我用来保存它的控制器

if ($request->hasFile('image')) {
            $filenameWithExt = $request->file('image')->getClientOriginalExtension();
            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
            $extension = $request->file('image')->getClientOriginalExtension();
            $fileNameToStore = $filename . '_' . time() . '.' . $extension;
            $request->file('image')->move('storage/images', $fileNameToStore);

        } else {
            $fileNameToStore = 'noimage.jpg';
        }

这是我展示它的代码

<a download="retourmelding_{{$retour->firmaname}}" href="{{ asset('storage/images/'.$retour->images) }}" title="Foto">
<img alt="Foto" src="{{ asset('storage/images/'.$retour->images) }}"></a>

所以上传完美,我也输入了多个,当我选择图片时,只有第一张图片上传到我的数据库,这是我唯一能看到的图片。 问题出在哪里?

【问题讨论】:

    标签: database laravel image upload


    【解决方案1】:

    1) 将enctype="multipart/form-data" 添加到您的表单标签

    <form method="post" action="YOUR URL GOES HERE" enctype="multipart/form-data">
      {{csrf_field()}}
    //...
    </form>
    

    2) 你输入的文件名必须是image[]

    <input type="file" name="image[]" class="form-control-file" id="inputGroupFile01" aria-describedby="inputGroupFileAddon01" multiple>
    

    3) 后端验证

    $this->validate($request, [
        'image' => 'required',
        'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'
    ]);
    

    4) 在数据库中插入多张图片

    //...
    if($request->hasfile('image'))
             {
    
                foreach($request->file('image') as $image)
                {
                    $name=$image->getClientOriginalName();
                    $image->move(public_path().'/images/', $name);  
                    $data[] = $name;  
                }
             }
    
             $myModel = new App\MyModel();
             $myModel->filename = json_encode($data);
    
    
            $myModel->save();
    //...
    

    【讨论】:

      猜你喜欢
      • 2022-10-07
      • 2021-07-18
      • 1970-01-01
      • 2016-07-26
      • 2020-12-01
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2021-08-01
      相关资源
      最近更新 更多