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

Laravel Ajax CRUD上传图片无法显示,路径正确仍无效求助

Laravel 上传图片无法显示问题解决方案

核心问题分析

问题根源是Storage目录未建立Web可访问的软链接,同时<img>标签的路径写法不符合Laravel静态资源访问规范。


1. 生成Storage软链接

Laravel中storage/app/public目录的文件默认无法直接被Web访问,需要通过软链接映射到public/storage目录。在项目根目录执行以下Artisan命令:

php artisan storage:link

执行成功后,服务器就能通过/storage/xxx路径访问storage/app/public/xxx下的文件。

2. 修正Blade模板中的图片路径

替换当前的图片路径代码,使用Laravel官方推荐的asset()辅助函数生成正确的Web访问URL:

原代码:

<td><img src="../storage/app/public/profile/{{ $detail->profilepic }}" width="100px"></td>
<td><img src="storage/app/public/sign/{{ $detail->signature }}" width="100px"></td>

修改后:

<td><img src="{{ asset('storage/profile/' . $detail->profilepic) }}" width="100px"></td>
<td><img src="{{ asset('storage/sign/' . $detail->signature) }}" width="100px"></td>

asset()函数会自动拼接你的APP URL,确保路径在任何环境下都正确。

3. 额外验证步骤

  • 检查文件存在性:确认图片确实存储在storage/app/public/profile/和storage/app/public/sign/目录下,文件名与数据库中存储的完全一致。
  • 权限检查:确保storage目录及其子目录的权限设置正确,Web服务器用户(如www-data)拥有读写权限。
  • 清除缓存:强制刷新浏览器(Ctrl+F5),避免旧路径缓存导致的显示异常。

内容的提问来源于stack exchange,提问作者Pranav Sompura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:33:04