You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel视图中如何用asset在<img>标签加载图片?加载失败求助

解决Laravel Blade中用户头像无法加载的问题

1. 修正图片路径

你的asset()路径存在错误。Laravel执行存储链接命令后,storage/app/public目录会被映射到前端可访问的public/storage路径下,因此不需要在asset()中包含app/public部分。

修改图片渲染代码为:

@if ($profile->images)
<img src="{{ asset('storage/'.$profile->images) }}" alt="Profile Image" style="max-width: 50px; border-radius: 50%;">
@else
No Image
@endif

2. 确认存储软链接已创建

如果尚未创建存储目录的软链接,在项目根目录执行以下Artisan命令:

php artisan storage:link

该命令会将storage/app/public目录与public/storage目录建立关联,确保前端能访问到存储的图片文件。

3. 验证图片实际存储位置

检查图片文件是否确实存在于storage/app/public/目录下。例如,如果$profile->images的值为user-avatar.jpg,则对应的文件路径应为storage/app/public/user-avatar.jpg,这样通过修正后的asset('storage/user-avatar.jpg')就能正常访问。

4. 检查目录权限

确保storage和public/storage目录具备可读权限,在Linux/macOS环境下可执行以下命令:

chmod -R 755 storage public/storage

内容的提问来源于stack exchange,提问作者chemuel castillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:15:55