在Laravel响应404中检索图像

时间:2018-01-28 10:59:05

标签: php laravel filesystems

在我的网络应用程序中,我用这种方法保存用户头像:

$avatarPath = request()->file('avatar')->store('avatars');

然后我将$ avatarPath存储在数据库中。在我使用的页面上显示头像:

<img class="doc-avatar"  src="{{ Storage::disk('local')->url($doctor->image) }}" />

但是你猜它不会有任何形象,我不知道为什么。

我创建了一个符号链接:

php artisan storage:link

还检查了存储/ app / public / avatars中的头像文件夹,我的图像就在那里。

我可以使用

获取有关图像的所有元数据
Storage::url($doctor->image);

Storage::size($doctor->image);

但如果我在浏览器中复制返回的URL,则会出现404错误。

http://localhost:8080/storage/avatars/04it83vKYnobT7l8dNXwt1pE0VxiT9L5lQPQ6A1Z.jpeg

http://localhost/storage/avatars/04it83vKYnobT7l8dNXwt1pE0VxiT9L5lQPQ6A1Z.jpeg

都返回404。

这是我的config / filesystem.php

'default' => env('FILESYSTEM_DRIVER', 'public'),

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

1 个答案:

答案 0 :(得分:0)

上传会将图片添加到storage/app/public/avatars,同时仔细检查文件是否同步到public/avatars。公共文件夹下的文件是唯一可访问的文件,而不是storage/app/public/avatars下的文件。