【问题标题】:images on Heroku Deploy not showing upHeroku Deploy 上的图像未显示
【发布时间】:2020-06-04 20:02:06
【问题描述】:

我遇到了一个问题,即在部署到 Heroku 时只显示了 1 张图像,而所有图像都显示在 localhost 上。出现的是

<div class="hero-wrap ftco-degree-bg" style="background-image: url('images/bg_1.jpg');" data-stellar-background-ratio="0.5">

我使用 url() 提取图像的位置,但我尝试在代码中执行此操作的所有其他实例(三种不同的尝试):

<a class="img" id="albumPhoto1" style="background-image: url('../images/greenPurplegrad.jpg');"></a>
<a class="img" id="albumPhoto2" style="background-image: url('./images/yellowPinkgrad.jpg');"></a>
<a class="img" id="albumPhoto3" style="background-image: url('images/pinkBluegrad.jpg');"></a>

但如果我将网址设置为

style="background-image: url('images/bg_1.jpg");"

(与显示的第一张图像相同)图像将显示。显然我不想要所有相同的图像,所以我需要一些帮助来看看我哪里出错了。

这是 images 文件夹的图像,显​​示我将所有这些图像都放在正确的位置: Images Folder

是的,都是.jpg

可以在此处找到网络应用程序:My Web App on Heroku 如果您只是按下搜索图标,则应该会在其正下方弹出一些图像(如上所示),但它们不会弹出

编辑: 添加了文件结构的图像: Public folder with HTML and images folder

编辑 2: 需要注意的是,如果我将任何图像更改为 bg_1.jpg,它就会显示出来,但是如果我将带有 bg_1.jpg 的部分更改为任何其他图像,它就不会显示在背景上。所以我相信我的图像可能会以某种方式损坏,即使我可以在文件夹中看到它们。

【问题讨论】:

  • 你能发布你的文件结构吗?至少与您的图像有关的部分。另外,您是否尝试过:尝试输入开头不带两个点的图像 URL。例如:url('/images/pinkBluegrad.jpg'); 而不是 url('../images/pinkBluegrad.jpg');
  • 是的,我也会进行测试。有什么理由为什么只能通过 url('images/bg_1.jpg') 看到第一张图片 bg_1.jpg 而其他的都看不到?
  • 根据您的文件结构,我认为将 URL 路径更改为 url('/images/pinkBluegrad.jpg'); 应该可以。对于您的其他问题 - 在您的网络应用程序中按下搜索栏后个人没有看到任何图像
  • 我的意思是搜索栏的图片,蓝色和橙色渐变是 bg_1.jpg,但是,是的,感谢您查看网络应用程序本身。
  • 带有搜索栏的图像不是图像,它是背景的线性渐变。如果您将 background: linear-gradient(to bottom, white 0%, white 3%, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, 0) 100%); 添加到 div,它会给您相同的结果。如果您要更改它,请使用其他浏览器的前缀(mozilla -moz-、safari -webkit-、microsoft -ms-、opera -o-)。例如:background: -webkit-linear-gradient(to bottom, white 0%, white 3%, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, 0) 100%);

标签: html css image heroku


【解决方案1】:

仍然不确定是什么原因导致无法加载除 bg_1.jpg 之外的所有图像,但由于 Heroku 有其临时文件系统,我被引导相信这些图像正在从系统中删除,因为我无法调用这些图像而bg_1.jpg在程序中直接实现。

因此,我找到了一个 Online image holder + HTML 来为我存储图像,并且我可以在需要时使用 url() css 直接和新鲜地调用这些图像。这完全消除了拥有图像文件夹的需要,因为它们现在都在线。如果这样做不方便,Heroku 也会赞助 Amazon S3 来保存文件(我认为这就是它的工作原理?)。

我希望这对某人有所帮助,但我认为几年来没有其他人在使用 Heroku 时遇到过此类问题。

【讨论】:

    【解决方案2】:

    我相信是因为动态地址,当你输入"../image.jpg""image.jpg"时,你定义的是一个静态地址,这对于本地应用来说是实用的,但对于PHP来说不是...... ..

    我不知道这是否是问题的中心,但试试这个:background: url ("/path/to/file/image.jpg")

    当您键入第一个“/”时,您将获取当前文件并从该文件中搜索。

    【讨论】:

    • 我的 images 文件夹与在 Web 应用程序上运行的 HTML 位于同一文件夹中,这就是我引用 ../images/image.jpg 的原因。不过,我很高兴回家后尝试一下,谢谢。
    • 当你有图片在同一个目录下你可以使用"/image.jpg",一个小技巧,为“好的做法”创建一个单独的图片文件夹,因为它可能会变得杂乱无章,你必须温暖你抬起头来的小东西。
    • 强调文件夹,我已经在一个单独的文件夹中,参考我帖子中编辑的图像。
    猜你喜欢
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2016-09-17
    • 2014-02-08
    相关资源
    最近更新 更多