如何使用文件存储符号link显示用户头像?
How to display a user avatar using the file storage symbolic link?
我正在尝试显示用户上传的用户头像。该图像正在保存在服务器上但是每当我尝试显示它时都会出现 404 未找到错误。
我正在使用这个保存图像:
$path = $request->file('image')->store('avatars');
我已经使用 php artisan storage:link
命令创建了一个符号 link 作为 documentation suggests
我的HTML:
@if(config('adminlte.usermenu_image'))
<img src="{{ Auth::user()->adminlte_image() }}"
class="user-image img-circle elevation-2"
alt="{{ Auth::user()->name }}">
@endif
我正在使用 Laravel-adminLTE package 并使用下面的函数将图像 URL 发送到视图
public function adminlte_image()
{
return Storage::url($this->avatar);
}
我的文件夹:
错误:
http://localhost:8000/storage/avatars/S8Npk86Zun9FAYBREgxgOh9Ye6xiHVhyAmm3Vhb1.jpeg 404 (Not Found)
filesystems.php:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
我已经在 SO 中查看了几个关于符号 link 的问题,但我找不到答案。我显然在这里遗漏了一些东西,我们将不胜感激。
问题是我将图像存储在错误的磁盘中。我的 filesystems.php
指向 /public
目录。我将图像存储在 /avatars
.
将路径更改为:
'public' => [
'driver' => 'local',
'root' => storage_path('app/public/avatars'),
存储方式为:
$path = $request->file('imagem')->store('public/avatars');
解决了问题
我正在尝试显示用户上传的用户头像。该图像正在保存在服务器上但是每当我尝试显示它时都会出现 404 未找到错误。
我正在使用这个保存图像:
$path = $request->file('image')->store('avatars');
我已经使用 php artisan storage:link
命令创建了一个符号 link 作为 documentation suggests
我的HTML:
@if(config('adminlte.usermenu_image'))
<img src="{{ Auth::user()->adminlte_image() }}"
class="user-image img-circle elevation-2"
alt="{{ Auth::user()->name }}">
@endif
我正在使用 Laravel-adminLTE package 并使用下面的函数将图像 URL 发送到视图
public function adminlte_image()
{
return Storage::url($this->avatar);
}
我的文件夹:
错误:
http://localhost:8000/storage/avatars/S8Npk86Zun9FAYBREgxgOh9Ye6xiHVhyAmm3Vhb1.jpeg 404 (Not Found)
filesystems.php:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
我已经在 SO 中查看了几个关于符号 link 的问题,但我找不到答案。我显然在这里遗漏了一些东西,我们将不胜感激。
问题是我将图像存储在错误的磁盘中。我的 filesystems.php
指向 /public
目录。我将图像存储在 /avatars
.
将路径更改为:
'public' => [
'driver' => 'local',
'root' => storage_path('app/public/avatars'),
存储方式为:
$path = $request->file('imagem')->store('public/avatars');
解决了问题