Загрузка напрямую в S3 на CORS без Flash, с размещенного на HTTPS сайта - PullRequest
2 голосов
/ 02 сентября 2011

Мы рассматриваем возможность загрузки больших файлов (~ 100 МБ +) на S3.

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

Приложение находится в стеке Ruby-on-Rails и поддерживает HTTPS. Исключается отправка формы на S3, так же как и флэш-загрузка. Все остальные варианты, которые мы рассмотрели, имеют свои ограничения.

  1. Прямая загрузка JS невозможна из-за междоменного ограничения (CORS) с S3.

  2. Настройка HTTP-сервера (nginx) с OPTIONS, как упомянуто здесь (http://zefer.posterous.com/pure-html-ajax-solutions-to-upload-files-to-s). Но приложение (т.е. nginx) будет работать за ElasticLoadBalancer на HTTPS. Есть ли лучший способ выполнить это требование на ELB?

Существуют ли другие хорошие образцы для этого требования в мире AWS?

Спасибо, Шрирам

Ответы [ 2 ]

4 голосов
/ 01 сентября 2012

CORS теперь поддерживается, поэтому ваш вариант 1 теперь будет работать http://aws.typepad.com/aws/2012/08/amazon-s3-cross-origin-resource-sharing.html

0 голосов
/ 19 марта 2012

Почему вы говорите, что отправка формы исключена?http://docs.amazonwebservices.com/AmazonS3/latest/dev/HTTPPOSTForms.html

...