Как вывести изображение из паблика / хранилища / изображений в Laravel - PullRequest
0 голосов
/ 17 июня 2020

profile.blade. php

 <form action="{{route('user.profile.update',$user)}}" method="post" enctype="multipart/form-data">
            @csrf
            @method('PUT')

                <div>
                <img height="100px;" class="img-profile rounded-circle" src="{{$user->avatar}}">

                </div>
                <br>
                <div class="form-group">
                <input type="file" name="avatar">

                </div>
    </form>

web. php

Route::put('admin/users/{user}/update','UserController@update')->name('user.profile.update');

User. php

public function getAvatarAttribute($value){
        return asset($value);
    }

UserController:

public function update(User $user){


        $inputs=request()->validate([

                'file'=>['file'],




                ]);


        if(request('avatar')){
           $inputs['avatar']=request('avatar')->store('images');
        }

        $user->update($inputs);

        return back();
    }
}

Это профиль. Лезвие. php

enter image description here

Как вывести изображение из паблика / хранилища / изображения в Laravel

enter image description here

Если я проверю изображение, sr c будет src = "http://127.0.0.1: 8000 / images / dT9gvraL3HbTlHcQly96YwoSJdikNj7fVL1dsIzT. jpeg ". Как я сделал не так?

Ответы [ 2 ]

4 голосов
/ 17 июня 2020

Учитывая, что вы храните изображения с именем, а не с URL-адресом.

Теперь в User. php,

public function getAvatarAttribute($value){ 
    return asset('storage/'.$value); 
}

Надеюсь, это вам поможет.

0 голосов
/ 17 июня 2020

Плохо, я пропустил некоторые части вашего вопроса. Вам необходимо изменить путь в User. php следующим образом:

public function getAvatarAttribute($value){
        return asset("storage/$value");
}

Чтобы получить доступный URL для publi c URL. Laravel предоставляет asset помощника для того же.

Например, если ваше изображение хранится в

public / storage / image / user.png

Вы можете легко получить доступ к изображению, как показано ниже:

asset ('storage / image / user.png') // выводит полный URL-адрес файла

Примечание: папка publi c считается базовым каталогом .

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