Загрузите файл прямо на S3 с помощью панели выполнения
Относительно этого вопроса Загрузка файлов непосредственно в Amazon S3 из приложения ASP.NET, есть ли способ сделать это и иметь индикатор выполнения?
---- EDIT ----
Через два дня и по-прежнему не повезло прямым путем. Найдено одно, что выглядит многообещающим, но не бесплатным: http://www.flajaxian.com/
Использует флэш для загрузки непосредственно на S3 с индикатором выполнения.
Ответы
Ответ 1
Я тоже ищу решение. Возможно, это поможет,
От AWS Dev CommnityНо на многих языках (PHP, Java) для большие файлы, вы должны использовать потоки через которые языковая среда возьмет куски вашего большого файла после другого (чтобы заполнить центральная память с огромным количеством данных для http POST S3 необходимо для загрузки.
Хорошая вещь о потоке - это то, что они имеют обратный вызов каждый раз следующий фрагмент читается для дальнейшего PUT (в смысле https) данные на S3. Вы можете использовать этот обратный вызов для вычисления и отобразить прогресс на клиенте Пользовательский интерфейс.
См. документ libcurl для просмотра в как все это работает.
Обновление: похоже, есть два простых варианта.
Я лично ненавижу использование сторонних расширений (Flash, Java) для создания функции приложения, но я не нашел другого способа.
Ответ 2
html5 javascript может позволить вам это сделать, если вы не возражаете против поддержки браузером (Firefox и Chrome только с этого поста_
Пример здесь: https://developer.mozilla.org/en/Using_files_from_web_applications
Это не относится к AWS, но может помочь вам приблизиться.
Ответ 3
Другой подход - использовать что-то вроде Uber Uploader (http://uber-uploader.sourceforge.net/), который представляет собой гибридное решение perl/php с индикатором выполнения. Вы просто загрузите файлы на свой сервер, а затем передадите их FTP в фоновом режиме в конечный пункт назначения. Это дополнительный шаг, но он дает вам некоторое время для обработки/кодирования/и т.д., Которые могут возникнуть перед отправкой на S3.