Изображение не отображается на блейде

#php #laravel #laravel-8

#php #ларавель #laravel-8

Вопрос:

Я хотел удалить image строку из моей users таблицы. Вот моя форма:

 <form method="POST" action="{{ route('profile.update' , ['profile' => Auth::user()->id]) }}" enctype="multipart/form-data">
   @csrf
   @method('PATCH')
   <input type="file" class="form-control-file" id="exampleFormControlFile1" name="image">
   <button type="submit" class="btn btn-primary">
        {{ __('Submit') }}
    </button>
</form>
 

Тогда у меня есть этот update метод в моем контроллере:

 public function update(Request $request, $profile)
{
    $validate_data = Validator::make($request->all(),[
        'image' => 'image|nullable|max:1999',
        'location' => 'nullable'
    ]);

    if($request->hasFile('image')){
        // get filename with extension
        $filenameWithExt = $request->file('image')->getClientOriginalName();
        // get just filename
        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
        // get just ext
        $extension = $request->file('image')->getClientOriginalExtension();
        // filename to store
        $fileNameToStore = $filename.'_'.time().'.'.$extension;
        // upload
        $path = $request->file('image')->storeAs('public/avatars', $fileNameToStore);
    }else{
        $fileNameToStore = 'noimage.jpg';
    }

    $user = User::findOrFail($profile);

    $user->update([
        'location' => request('location'),
        'image' => $fileNameToStore
    ]);

    $user->save();

    return back();
}
 

Я также выполнил команду php artisan storage:link , чтобы создать storage папку в public каталоге.

Поэтому всякий раз, когда я пытаюсь загрузить изображение, изображение успешно сохраняется в public/storage базе данных и в базе данных, и чтобы получить его в blade, я сделал это:

 <img
src="/storage/avatars/{{ Auth::user()->img }}"
alt="{{ Auth::user()->img }}"
/>
 

Но проблема в том, что он как-то не отображается!!

Итак, что здесь не так, как я могу правильно отобразить свое изображение из базы данных?

Я был бы очень признателен за любую идею или предложение от вас, ребята…

Заранее спасибо.

Комментарии:

1. Это так же легко, как img и не то же самое, что image

2. Проверьте свои реальные пути изображения. Проверьте значение $path после сохранения. Я думаю, что ваши пути разные.

Ответ №1:

Auth::user()->img вероятно, должно быть Auth::user()->image