【发布时间】: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 帐户访问的结果。耶 - 非常感谢。继续……