【问题标题】:Laravel - image not showing - defies logicLaravel - 图像未显示 - 违反逻辑
【发布时间】:2023-03-06 04:58:01
【问题描述】:

网站已有几年历史 - Laravel 5.1

首次设置时,所有图片(上传到 public/images),使用正确显示,例如:

<img src="{{ asset('/images/services-1.jpg') }}" title = "Services" />

在刀片模板中。

现在,我已上传 (FTP) 一个名为 services-2.jpg 的替换图像并编辑刀片模板以更改文件名 - 你猜怎么着,我在页面上看到了占位符框,但图像没有显示。即使我只是复制原始图像文件并用更改后的文件名重命名它 - 再次,没有显示。

我已经在主页上测试了一个新的 img 标签——首先我使用了一个最初上传的图像文件——它有效。然后我只是将文件更改为最近添加的文件 - 没有显示。

因此,只需参考更新的图像文件 - 它就会从显示变为不显示。没有其他变化。

我已经清除了 storage/framewor/cache 和 views 文件夹 - 没有变化。

我不知道还有什么可能导致这种行为 - 有什么想法吗?

【问题讨论】:

  • 您的图像上找不到 404?如需清除缓存,请尝试php artisan optimize:clear。您可以在新选项卡中加载生成的 URL 并查看图像吗?您可以尝试删除images/service-1.jpg 之前的/ 吗?
  • 你检查过图片的权限吗?
  • 嗨克里斯托弗。加载原始图像之一的 url:/images/services-1.jpg - 工作正常。与最近的图像 /images/services-2.jpg 相同的 url 失败并在 RouteCollection.php 第 161 行中给出错误 NotFoundHttpException - 很奇怪吧?谢谢你帮我看
  • 另外——php artisan optimize:clear 返回一个错误““优化”命名空间中没有定义命令”——可能是由于我使用的 Laravel 版本。希望避免仅仅为了显示新图像而更改版本 - 我认为有点矫枉过正。再次感谢
  • 撞上路边石!权限相同,但所有权和组不同 - 这就是使用不同 ftp 帐户访问的结果。耶 - 非常感谢。继续……

标签: php laravel image


【解决方案1】:

kerbholz 通过指向图像文件的权限来解决这个问题。这是更少的权限和更多的用户:组所有权。我使用不同的 FTP 帐户上传图像,因此所有权与原始文件不同。更改了所有权并且效果很好 - 已使用:

chown <user>:<group> <file>

感谢所有回复/cmets

【讨论】:

    猜你喜欢
    • 2017-12-29
    • 2021-01-13
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 2021-10-23
    • 1970-01-01
    相关资源
    最近更新 更多