如何在Laravel中显示数据库中的图像

时间:2018-11-10 21:29:03

标签: php database laravel laravel-blade avatar

我有一个管理模板,该模板是我从购买中注册到应用程序中的。该模板的设置非常好,其部分内容是用Laravel编写的。我可以在修改中注册新用户,但是用户个人资料图像出现问题。颁布新注册的用户时,文件名存储在相应的数据库中。但是,无法显示图像。检查应用程序代码时,甚至可以在Google Chrome浏览器网络工具中看到图片名称。此图像已保存,只是没有显示在网页上(至少没​​有显示在侧栏上)。

@if (auth()->user()->profile->pic == null)
    <img src="{{asset('storage/uploads/users/no_avatar.jpg')}}" alt="user-img" class="img-circle">
@else
    <img src="{{ auth()->user()->profile->pic }}" alt="user-img" class="img-circle">
@endif

如果我做错了什么,那一定是Laravel的基本问题。我不知道该怎么做,但是图像必须能够从数据库中获取并显示在我上拉或导航到的视图中。如果有人可以告诉我如何像其他任何Laravel应用一样在前端视图中正确包含个人资料图片,那将对我有很大帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

为了访问您的存储路径,您可以使用storage_path辅助函数而不是asset,因此您的代码应为:

storage_path('uploads/users/no_avatar.jpg');

对于上传图片的用户,如果您将图片的相对路径存储在公用文件夹中,则可以使用

{{ url(auth()->user()->profile->pic) }}

如果auth()->user()->profile->pic的值为img/profile.jpg,那么您的项目img目录中应该有profile.jpg文件夹,其中包含public