Изображение хранится правильно, но не может отображаться на Laravel Blade - PullRequest
0 голосов
/ 15 апреля 2019

Изображение правильно сохраняется в папке storage/app/public/images, однако, когда я пытаюсь отобразить изображение с кодом ниже, оно ничего не возвращает.Я также приложу к моему изображению функцию контроллера

Я попробовал следующую

<img src = "{{ asset('storage/app/public/images/artist.jpg') }}" />


<img class="rounded-circle" src="/storage/images/{{ $user->image }}" />

функцию контроллера

 public function update_image(Request $request){

    $request->validate([
        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);

    $user = Auth::user();

    $imageName = $user->id.'_image'.time().'.'.request()->image->getClientOriginalExtension();

    $request->image->storeAs('images',$imageName);

    $user->image = $imageName;
    $user->save();

    return back()
        ->with('success','You have updated image.');

    }

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Это потому, что вы храните изображения в папке хранения, а не в общей папке.

Пробег php artisan storage:link

и напишите в своем коде <img src = "{{ asset($user->image) }}" />

https://laravel.com/docs/5.5/filesystem#the-public-disk

0 голосов
/ 15 апреля 2019

Ваш asset() помощник должен указывать на следующее:

asset('storage/images/artist.jpg');

Это потому, что новую папку с символическими ссылками можно найти в public/storage, а помощник asset() создает ссылки на папку public. Удаление app/public из строки должно решить проблему.

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