【问题标题】:Laravel Doesn't Render ImagesLaravel 不渲染图像
【发布时间】:2020-01-16 17:35:27
【问题描述】:

我已经在本地机器上使用 Laravel 6.0.3 版设置了一个站点。

我运行了这个命令:

php artisan storage:link

并已将图像文件“black.png”上传到我的网站。

上传效果很好,文件相对于根目录存在:

存储/app/posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png

但是当我使用资产功能时

$image = "posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png";
assets($image);

它将以下链接输出到图像:

http://cms.test/posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png

不会出现 404 错误。访问时是一个空白页面。

我可能会错过什么?

编辑:

如果我尝试使用:

{{ asset('storage/posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png') }} 

然后,当我加载页面时,URL 处的图像出现 404 错误:

 http://cms.test/storage/posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png

同样,如果我尝试:

{{ asset('storage/app/posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png') }} 

我还收到了 URL 的 404 错误: http://cms.test/storage/app/posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png

返回初始代码后网络调试窗口的响应:

$image = "posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png";
assets($image);

显示来自资产的 200 状态响应代码。

最终编辑:

按照 ceejayoz 的指示,我做了两个重要的调整。首先在 config/filesystems.php 里面我改变了一个局部变量:

'root' => storage_path('app/public'),

在我的模板调用中我使用了:

{{ asset('storage/' . $image) }}"

现在它可以工作了。

【问题讨论】:

  • 尝试先添加storage 这样storage/posts/KiL8ZKWQIq3CK8ecd4CDVZHACFHlUsMAyq8h0AJj.png
  • 嘿约瑟夫。谢谢您的意见。我继续尝试使用 URL,但仍然无法看到图像。有关详细信息,请参阅我编辑的问题。
  • @JackRobson,在标签中包含你正在使用的 Laravel 版本。
  • storage:link,根据the docs,创建“从public/storagestorage/app/public 的符号链接”。 storage/app/posts 中的任何内容都无法通过链接访问。
  • 我认为响应是“未找到”,但代码错误 200。无论如何,请查看@ceejayoz 评论。我认为这就是重点。

标签: php laravel laravel-6


【解决方案1】:

php artisan storage:link 创建一个从public/storagestorage/app/public 的符号链接。

这使得storage/app/public 中的任何内容都可以在https://example.com/storage/ 获得。它不会使任何外部 storage/app/public 在任何地方都可用 - 因此您的storage/app/posts 中的内容仍然无法在浏览器中访问。

如果您将您的帖子图片放在storage/app/public/posts,如果您的链接设置正确,则可以通过asset('storage/posts/foo.jpg') 访问它们。

【讨论】:

  • 谢谢。使用您的建议,我能够调整我的代码以使其正常工作。对于任何感兴趣的人,请参阅我原始帖子的最终编辑。
猜你喜欢
  • 2021-01-18
  • 2017-09-17
  • 2022-12-21
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多