2016-10-02 3 views
0

Я перенес свой старый веб-сайт в AWS.AWS эластичный бобовый стебель. Где сохранить файлы, загруженные пользователями?

Я уже сделал несколько активов, работающих как: - Мой веб-сайт появляется под моим доменом. - Моя база данных SQL находится в сети, и она доступна с моего локального компьютера. - Я запустил экземпляр Linux AMI и флэш-среду Elast Beanstalk для запуска моего приложения php, которое тоже работает.

Теперь мое приложение php должно иногда читать и записывать файлы изображений, загруженные посетителями моего сайта (по сценариям javascript и php).

На моем старом веб-хостинге это было легко. PHP-скрипт читает/записывает файлы изображений пользователя в пределах определенного каталога, доступного из моего домена http.

На AWS я попытался вручную загрузить файл с изображениями в корневой корзине Elasticbeanstalk Linux (где я нашел файлы zip-файлов для php), например. «usersimages/image.png», но теперь, если я нахожу http://example.com/usersimages/image.png, я получаю ошибку 404.

Итак, все работает только в непрозрачном приложении php, а не снаружи. И я не могу включить этот файл пользователя в файл php zip. Каталог «usersimages» содержит динамические данные, независимо от моего приложения php.

Итак, мой вопрос: где и как читать/записывать файлы изображений пользователя?

ответ

1

Возможно, было бы лучше, чтобы изображения пользователей были загружены непосредственно на S3. Таким образом, он не позволяет вам отключить ваш экземпляр Beanstalk, и вы можете легко включить изображения на свои страницы. Загрузка выполняется с использованием метода, который называется pre-signed upload URLs. Вы можете создать предварительно подписанный URL-адрес в PHP и использовать URL-адрес в своей HTML-форме для загрузки файлов. Пример: Client side uploads to s3, with pre-signed upload form (PHP/JS).

+0

Могу ли я локально протестировать метод, называемый предварительно подписанными URL-адресами загрузки? Кроме того, должен ли я весь zip весь проект и загружать/развертывать его все время? Как изменить файл php на удаленном сервере? На моем текущем хостинге я использую для редактирования/сохранения удаленного файла php с помощью Transmit. И я вижу результаты в секундах. Здесь я никогда не кончаю. – Leonardo

+0

Я решил проблему, как вы сказали. Спасибо. Я переместил динамические файлы в новый ведро S3. И я нашел способ указать на эти общедоступные URL-адреса, используя метод AWS s3: // bucketName – Leonardo

Смежные вопросы