在 AWS Beanstalk 上部署后图像文件未显示在 Laravel 应用程序中

Image Files Not Showing in Laravel App after Deploying on AWS Beanstalk

我在 AWS Beanstalk 上部署了一个 Laravel Web 应用程序。除了 image/file 显示外,包括数据库在内的所有内容都可以正常工作。徽标、图像等未显示。这可能是文件路径问题。我的图像和文件存储在 "storage" 目录中。我的文件路径是这样的:

<img src="/storage/images/logo.png">

这在本地有效,但在 AWS 服务器上无效。我尝试了所有可能的路径,但仍然没有任何效果。我做错了什么?

试试这个从存储目录中检索资产。

Storage::disk('local')->url('images/logo.png');

您可以按以下格式使用blade。

<img src="{{ Storage::disk('local')->url('images/logo.png') }}">

这会将直接 URL 提供给 /storage/images/logo.png

此外,您需要运行命令:

$php artisan storage:link

在 运行 执行此命令之前,请检查存储文件夹是否已存在于 public 文件夹中,如果存在,则将其重命名为 storage-bk 和 运行命令。