如何在 Laravel 中将多个图像提取到 blade

How to fetch multiple Images into blade in Laravel

我有一个表格可以上传多张图片。我在 Laravel 中将多个图像名称存储到数据库中,我正在使用本地存储 storage/upload 上传我的图像。

现在我想一一给他们打电话。我想到的解决方案没有用。 我需要调用所有图像的逻辑。

控制器

public function multiStepStore(Request $request)
{
    if($request->hasFile('photos')) {
        $files = $request->file('photos');
        foreach ($files as $file) {
            $filename = $file->getClientOriginalName();
            $extension = $file->getClientOriginalExtension();
            Storage::disk('local')->put($filename,  File::get($file));
            $filepath[] = $filename; // Store all Images into array
            $getAllImages = collect($filepath)->implode(',');
        }
    }
}

Blade

<tr>
 <td>Location</td>
 <td>{{ $row->location}}</td>
</tr>

<tr>
 <td>Images</td>
  <td>
    @foreach( (array) $row->img_path as $img)
       <img src=" asset('storage/uploads/' .{{ $img }}">
    @endforeach
</tr>

输出只是一个损坏的图像缩略图。 如何获取所有图片?

您将图像存储在 /storage/uploads 中,这不是 public 目录。 public 目录是 /storage/app/public。将所有 /storage/uploads 文件移动到 /storage/app/public/uploads,然后创建符号 link 作为 :

php artisan storage:link

像这样更改您的 blade 代码:

@php 
    $x = explode (",", $row->img_path);
@endphp
@foreach($x as $key => $val)
     <img src="{{ asset('storage/uploads/' . $val) }}">
@endforeach