Как получить доступ к изображению из / storage -laravel- из SPA с помощью vuejs - PullRequest
1 голос
/ 20 марта 2019

, если я помещаю изображение в «storage / app / public / img / logo.png» и выполняю:

$ php artisan storage:link

Как мне получить этот logo.png в компоненте vue?

<img src="storage/app/public/img/logo.png">

Запрошено, это нормально (200), но это изображение не отображается, потому что это SPA.

Спасибо,

Ответы [ 3 ]

2 голосов
/ 20 марта 2019

Когда вы используете команду storage:link, вы создаете символическую ссылку между вашей папкой storage/app/public и вашей папкой public/storage.

Так что теперь вы можете найти ваши файлы по ссылке $BASE_URL/storage/img/logo.png.

Я рекомендую вам использовать вспомогательную функцию asset внутри вашего шаблона лезвия:

<img src="{{ asset('storage/img/logo.png' }}">

ПРИМЕЧАНИЕ. Обязательно установите правильные разрешения для файлов в папке, иначе при попытке доступа к ней вы получите ошибку Unauthorized.

1 голос
/ 20 марта 2019

При использовании php artisan storage:link вы создаете символическую ссылку от public/storage до storage/app/public

Я привык использовать asset вместо обычного пути: попробуйте использовать src="{{ asset('storage/app/public/img/logo.png') }}

Предполагается, что если вы используете SPA, то при рендеринге компонента он сделает новый запрос на получение img

0 голосов
/ 20 марта 2019

Ну, а после делать:

$ php artisan storage:link

В моем компоненте я использовал:

<img :src="'../storage/img/logo.png'">

спасибо,

...