Файловое хранилище Laravel - PullRequest
       5

Файловое хранилище Laravel

0 голосов
/ 29 августа 2018

Я пытаюсь сделать загружаемые изображения общедоступными. Я запустил php artisan storage:link, который связал public/storage с storage/app/public. Итак, как я понял, чтобы сохранить файл в папку photo я должен написать:

$path = request()->file('photo')->store('public/photos');

И если я хочу сохранить этот путь:

$data['photo'] = 'storage/' . $path;

Я получаю путь, сохраненный как storage/public/photos/blah.jpg

И тогда я не могу получить доступ к изображению как domain.name/storage/public/photos/blah.jpg, потому что у полного пути, как оказалось, есть два public - один из созданной ссылки, а другой я утверждаю, чтобы сохранить в правильной папке.

Что я делаю не так?

1 Ответ

0 голосов
/ 29 августа 2018

Храните свой файл так. Чтобы сделать файл общедоступным с помощью символической ссылки, необходимо сохранить файл в папке app/public или подпапке внутри app/public.

request()->file('photo')->store(storage_path('app/public/photos'));

Теперь храните только photos/blah.jpg в базе данных и обращайтесь к ней вот так

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