无法从 laravel 上的存储加载图像

Fail to load an image from storage on laravel

你能举个例子吗:我用seeder为用户创建了一个图像,但我无法加载它,即使我运行 php artisan storage:link ,并检查了图像的路径(url 是正确的。)。请帮我解释一下

我在工厂文件中用来创建图像的代码

    'image' => $this->faker->image('storage/app/public/users', 140, 180, null, false),

我用来加载图片的img标签:

<img src="{{ asset('storage/users/' . $user->image) }}" class="avatar avatar-sm me-3 border-radius-lg" alt="user1">

When I inspected the url of an image

This is my folder structer

您是否运行 存储:link artisan 命令?

php artisan storage:link

之后你就可以使用你的 img 标签了

<img src="{{ asset('storage/users/' . $user->image) }}" class="avatar avatar-sm me-3 border-radius-lg" alt="user1">

我猜是你的 laravel 项目字典导致了这个问题。

Asset helper 从 laravel 默认 public 文件夹中提取图像、js。

将图像复制到默认 public 文件夹并重试:)

https://laravel.com/docs/9.x/helpers#method-asset