Изображения в приложении / общедоступном (laravel) не отображаются в приложении Heroku

У меня есть проект в laravel, один из разделов которого загружает изображения на сервер. Изображения сохраняются с помощью Файлового хранилища и в папке / storage / app / public.
В локальных работает корректно, изображения выглядят хорошо, но когда я загружаю проект в heroku, изображения не видны.
Даже в героку запускаю команду «php artisan storage: link»

Почему я не вижу изображения? Я не хотел бы использовать AWS S3 для этого.
Что я мог пропустить?

Спасибо..

0

Решение

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

1

Другие решения

В ваш composer.json добавьте:

«post-install-cmd»: [
«ln -sr storage / app / public public / storage»],

0

Также Вы можете загружать изображения в общую папку вместо папки хранения (таким образом, у вас не будет проблем, как описано выше).
Для этого вам нужно изменить конфиг в app/filesystem.php

менять

'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],

к этому:

'public' => [
'driver' => 'local',
'root' => public_path(),
'url' => env('APP_URL').'/public',
'visibility' => 'public',
],

и вы можете хранить файлы так:

$pathToFile = Storage::disk('public')->put('uploads/', $file);

теперь вы можете вставить $pathToFile переменная в БД!

0
По вопросам рекламы [email protected]