#php #html #laravel #storage #laravel-blade
Вопрос:
Я хотел бы отобразить изображение, сохраненное в каталоге хранилища, в виде блейда. Я успешно сохраняю файл в хранилище/приложение/общую папку, как файл so ProfilesController:
`if(request('image')) {
$imagePath = request('image')->store('profile', 'public');
$image = Image::make(public_path("storage/{$imagePath}"))->fit(1000, 1000);
$image->save();
}
auth()->user()->profile->update(array_merge(
$data,
['image' => $imagePath]
));`
Теперь я хотел бы восстановить изображение в моем index.blade.php файл. Вот как это сделали:
<img src="/storage/{{$user->profile->image}}" alt="">
В документации laravel говорится, что используйте ссылку для хранения в моем терминале, я сделал это
php artisan storage:link
Я пробовал все это, но в представлении нет загрузки изображений!
Что я делаю не так и как это исправить!
Комментарии:
1. Что же
{$user->profile->image}}
в нем содержится?
Ответ №1:
<img class="" src="{{ Storage::disk('name-option')->url('full path.jpg') }}" alt="">
диск («имя-опция») — это опция, которую вы можете пропустить как
<img class="" src="{{ Storage::url('full path.jpg') }}" alt="">
Ответ №2:
Вы должны использовать Средство доступа в модели профиля пользователя, т. е.:-
public function getImageAttribute($image) { return asset('storage'.$image); }