Как отобразить изображение из базы данных в Laravel - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть шаблон администратора, который я зарегистрировал в приложении после покупки. Шаблон очень хорошо настроен, а его части написаны на Laravel. Я могу зарегистрировать новых пользователей в моей модификации, но у изображения профиля пользователя есть проблемы. Когда новый зарегистрированный пользователь принят, имя файла сохраняется в соответствующей базе данных. Однако изображение не может быть отображено. Я даже вижу имя изображения в веб-инструментах Google Chrome при проверке кода приложения. Это изображение сохраняется, оно просто не отображается на веб-странице (по крайней мере, на боковой панели).

@if (auth()->user()->profile->pic == null)
    <img src="{{asset('storage/uploads/users/no_avatar.jpg')}}" alt="user-img" class="img-circle">
@else
    <img src="{{ auth()->user()->profile->pic }}" alt="user-img" class="img-circle">
@endif

Если я что-то не так делаю, это должно быть основной проблемой Laravel. Я не знаю как, но изображение должно быть в состоянии взять из базы данных и показать в представлении, к которому я подтягиваюсь или перемещаюсь. Если бы кто-то мог сказать мне, как правильно включить изображение профиля в веб-интерфейс, как любое другое приложение Laravel, это мне очень помогло бы. Спасибо.

1 Ответ

0 голосов
/ 11 ноября 2018

Для доступа к вашему хранилищу вы можете использовать вспомогательную функцию storage_path вместо asset, поэтому ваш код должен быть:

storage_path('uploads/users/no_avatar.jpg');

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

{{ url(auth()->user()->profile->pic) }}

если значение auth()->user()->profile->pic равно img/profile.jpg, в вашем каталоге public должна быть папка img, содержащая profile.jpg.

...