Emchik
@Emchik
Что-то прикольное сделать могу

Как получить картинку из Laravel Storage в компоненте Vue?

Сохраняю картинку в storage/app/public/posts/image.png.
Путь к картинке в БД public/posts/image.png.

Картинку успешно получаю в blade шаблоне через Storage::url($post->image)
А в компоненте как в blade не работает. В компоненте я получаю пост в JSON формате (типа <my-post :post='@json($post)'></my-post>)

Путь к фото не работает (оно и понятно). Как мне менять ссылку, чтобы в JSON посте уже была рабочая ссылка (которую генерирует Storage::url($post->image))?
  • Вопрос задан
  • 1251 просмотр
Решения вопроса 1
@guruloz
В БД нужно сохранять posts/image.png, без public
А уже в компоненте нужно обращаться по пути к файлу, добавляя в начало storage, т.е. - `/storage/${post.image}`

Но, лучше всего - написать Laravel Resource для поста, и внутри него уже правильно кастить путь, используя хелпер asset, например, или Storage::url, и, уже передавать данные в вью компонент, обработанный этим ресурсом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы