Как загрузить файл с помощью Laravel с Elastic Beanstalk?

Я развернул приложение Laravel в среде Elastic Beanstalk, и все мои функции загрузки файлов не работают. Я смотрел всюду онлайн, но ничто не может решить эту проблему.

Когда я загружаю документ, кажется, все работает. Ошибка не отображается. Однако файл на самом деле не загружается. Это заставляет меня думать, что именно разрешения вызывают его, однако я установил для папок загрузки значение 755, используя конфигурацию .ebextensions, и проблема все еще остается.

.ebextensions / {имя_приложения} .config

container_commands:
change_permissions:
command: chmod 755 /var/www/html/storage/app/public

Кто-нибудь знает причину этой проблемы? Я стараюсь по возможности избегать использования S3, так как использование Elastic Beanstalk носит временный характер.

0

Решение

Для хранения файлов я предлагаю использовать ведро S3. Используйте Amazon SDK, чтобы сделать это. Для Java, см.
com.amazonaws.services.s3
Интерфейс putObject AmazonS3.

Конечно, ваш код для сохранения файлов должен быть подключаемым, по крайней мере, с двумя реализациями. Одна реализация сохраняет файл на локальный диск, а другая — для его сохранения в S3. Ваш код запуска должен связать правильную реализацию.

0

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

Я нашел решение этой проблемы. Причина была в том, что мне нужно было обновить серверную сторону хранилища до папки общего хранилища. Поэтому ссылку на хранилище в / public / пришлось удалить, а затем заново создать на стороне сервера.

php artisan storage:link
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector