Laravel构建的网页无法显示图片问题求助
Laravel 政治家图片无法显示问题解决方案
1. 核对数据库存储的图片路径
- 检查
$politician->image的存储值:如果仅存文件名(如1709685078.PNG),需拼接完整存储路径,修改img标签为:<img src="{{ asset('storage/images/politician_images/' . $politician->image) }}" alt="{{ $politician->name }}" class="politician-img"> - 若存储的是相对路径(如
images/politician_images/1709685078.PNG),则使用storage()辅助函数更稳妥:<img src="{{ storage_url($politician->image) }}" alt="{{ $politician->name }}" class="politician-img">
2. 确认创建了Storage符号链接
Laravel需通过符号链接将storage/app/public映射到public/storage,执行以下命令创建:
php artisan storage:link
- 若之前创建过链接但失效,先删除旧链接再重建:
rm public/storage php artisan storage:link - 验证链接有效性:查看
public/storage是否为指向../storage/app/public的符号链接。
3. 检查文件系统配置与环境变量
- 打开
config/filesystems.php,确保public磁盘配置正确:'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], - 确认
.env文件中APP_URL与当前访问域名一致(如APP_URL=http://your-project.test),FILESYSTEM_DRIVER=public已正确设置。
4. 排查路径拼写错误
注意到你提到的目录是poltician_images,存在拼写错误(正确应为politician_images),需同步修正:
- 实际存储目录名
- 数据库中存储的路径
- 代码中的路径拼接字符串
5. 调试生成的图片URL
查看页面源码,复制img标签的src属性值到浏览器地址栏访问,根据返回的错误(如404)定位路径问题。
内容的提问来源于stack exchange,提问作者Sunil Wijeratne
相关产品推荐
相关产品推荐

