Laravel 5.4无法在刀片中的公共存储中查看图像

时间:2018-01-03 13:39:37

标签: php image laravel-5.4

我无法让Laravel显示公共存储中的图像。

每个用户都有自己的文件夹,我想显示他们的个人资料图片。

我到处寻找答案,我正在做所有建议,但仍然无法显示图像。

  • 我已经php artisan storage:link
  • 我确保在Apache
  • 中设置了Options FollowSymLinks
  • 图像存在于公共存储文件夹
  • 我已将用户文件夹和图片的权限设置为777

我尝试过以下操作,图片未显示

<img src="{{ asset('storage/' . $userfolder. '/profile_image.png') }}">

如果我在浏览器中转到图像的URL,则会收到403错误消息。

我不知道我是否遗漏了这里的任何内容

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],
...

1 个答案:

答案 0 :(得分:0)

只需确保:

$userfolder = $filename . '_' . time() . '.' .$extension;

否:

$userfolder = $request->file('imagePath')->storeAs('public', $fileNameToStore);

第一个代码将文件存储为filename.ext,第二个代码将文件存储为public/filename.ext

使用src="{{ asset('storage/'.....将为您提供一个已包含public/ folder的路径,因此将src="{{ asset('storage/'.' $userfolder'与控制器中的第一个代码一起使用将显示图像