php - 如何在 Laravel 中显示数据库中的图像
问题描述
我有一个通过购买注册到应用程序的管理模板。该模板设置得非常好,其中一部分是用 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 应用程序一样在前端视图中正确包含个人资料图片,那将对我有很大帮助。谢谢你。
解决方案
为了访问您的存储路径,您可以使用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
推荐阅读
- javascript - 强制元素重绘并防止浏览器冻结
- c++ - 未定义的引用`ID3_Tag::ID3_Tag(char const*)`
- javascript - 如何为JS上的每个单选按钮设置时间间隔?
- python - Pandas - 如何创建从连续两行中的值派生的新列?
- python - 使用函数时如何绕过“无”打印
- sql - 仅从同一客户的交易表中获取旧订单
- php - 重构和清理网络资源
- azure - 使用 SAML 令牌加密的 Azure AD SSO
- python - Django live Insert 不刷新页面
- linux - glibc 中的 mmap 实现 - 带有符号 mmap 的动态库