Как загрузить файл с помощью Laravel с Elastic Beanstalk? - PullRequest
0 голосов
/ 15 мая 2018

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

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

php artisan storage:link
0 голосов
/ 15 мая 2018

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

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

...