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

Laravel中同一视图目录下home页可显图片,post页无法显示求助

排查方向参考

兄弟,我之前也碰到过这种同格式代码在不同页面显示异常的情况,结合你说的变量、文件都没问题的前提,大概率是这几个细节出了问题,你挨个排查下:

  • 路径格式与路由层级问题
    你代码里用的是反斜杠\,Web环境里标准路径应该用正斜杠/。更关键的是,如果post页面是在子路由(比如/post/123)下,用相对路径会自动拼接当前路由前缀,变成/post/storage/file_uploads/xxx,自然找不到文件。
    建议直接用Laravel的asset()辅助函数生成绝对路径,这样不管页面在哪个路由下都不会错:

    <img src="{{ asset('storage/file_uploads/' . $post->id) }}">
    
  • 文件名后缀是否一致
    虽然你确认文件存在,但有没有可能home页面的$item->id其实带了文件后缀(比如1.jpg),而$post->id只是纯数字?去storage/app/public/file_uploads/目录下核对下文件名,确保和你引用的完全一致,包括后缀名。

  • 视图缓存残留
    有时候Laravel的视图缓存会保留旧的路径逻辑,导致新代码不生效。执行下面的命令清一下视图缓存试试:

    php artisan view:clear
    
  • 符号链接或权限异常
    虽然你执行过storage:link,但可以再确认下:

    1. 看看public/storage是不是真的指向了../storage/app/public的符号链接(Windows下可能需要管理员权限创建,Linux下要确保链接没被误删除)
    2. 如果是Linux服务器,检查storage/app/public/file_uploads目录和文件的权限,确保运行Web服务的用户(比如www-data)有读写权限,执行这个命令试试:
      chown -R www-data:www-data storage/ public/storage
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:39:31