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

Heroku部署Github旧年鉴项目仅部分图片显示,求排查方案

问题排查与解决方案

嘿,这个问题我之前碰到过好几个类似的,大概率是文件大小写敏感性在搞鬼!结合你描述的“本地正常、Heroku仅少数图片显示”的情况,给你梳理下核心原因和解决步骤:

核心原因:大小写不匹配

Heroku的运行环境是Linux系统,对文件名/路径的大小写是严格区分的;而你的本地环境(比如Windows或默认设置的macOS)是不区分大小写的,所以本地能正常加载图片,但到了Heroku上就会因路径不匹配返回404,只能显示alt文本。

比如你代码里写的是:

<img class="photo" src="Photos/Alexis.PNG" alt="Photo d'Alexis.PNG" />

但如果GitHub仓库里的实际文件是photos/alexis.png(小写的文件夹名+小写文件名+小写后缀),Heroku就会找不到这个文件;而Abdellatif的图片能显示,说明他的文件名Abde.PNG和代码里的路径完全一致(包括大小写)。

另外还有一个容易忽略的点:Git默认对文件名大小写不敏感。如果你本地修改过图片文件名的大小写(比如从alexis.png改成Alexis.PNG),Git可能不会把这个当作文件变更,导致仓库里还是旧的文件名,Heroku拉取后自然找不到。

解决步骤

  1. 核对文件名与代码路径
    先去你的GitHub仓库,打开Photos文件夹,逐个对比每个图片的文件名(包括后缀、大小写)和代码里src属性的路径是否完全一致。

  2. 修正本地文件名并同步到Git

    • 本地修改所有图片文件名,确保和代码里的src路径完全匹配;
    • 开启Git的大小写敏感检测(避免Git忽略文件名大小写变更):
      git config core.ignorecase false
      
    • 重新添加所有文件并提交:
      git add -A
      git commit -m "Fix image filename case matching"
      git push origin main
      
  3. 重新部署到Heroku
    要么手动触发Heroku的部署,要么等它自动拉取GitHub的最新提交(如果开启了自动部署)。

  4. 验证问题是否解决
    部署完成后访问页面,同时可以通过Heroku日志确认是否还有404错误:

    heroku logs --tail
    

其他可能的小排查点

  • 检查.gitignore文件,确保没有把Photos文件夹或图片文件加入忽略列表,导致文件没上传到GitHub;
  • 确认所有图片文件确实已经被提交到GitHub(仓库里能看到所有20张图)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:17:46