Как отобразить аватар пользователя по ссылке symboli c файлового хранилища? - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь отобразить аватар пользователя, загруженный пользователем. Изображение сохраняется на сервере. Но всякий раз, когда я пытаюсь отобразить, появляется ошибка 404 not found.

Я сохраняю изображение, используя это:

$path = $request->file('image')->store('avatars');

Я уже создал символическую ссылку c с помощью команды php artisan storage:link, как указано в документации

My 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);
}

Мои папки:

enter image description here

Ошибка:

 http://localhost:8000/storage/avatars/S8Npk86Zun9FAYBREgxgOh9Ye6xiHVhyAmm3Vhb1.jpeg 404 (Not Found)

файловых систем. 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, несколько вопросов о ссылке symboli c, но я не смог найти ответ. Мне здесь явно чего-то не хватает, любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 28 мая 2020

Проблема заключалась в том, что я хранил образ не на тот диск. Мой filesystems.php указывал на каталог /public. И я сохранил изображение в /avatars.

Изменение пути на:

'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public/avatars'),

И метод хранения:

$path = $request->file('imagem')->store('public/avatars');

Проблема решена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...