Вам следует проверить тип данных столбца изображения в таблице базы данных, это должен быть текст или тип BLOB-объекта.
Я ищу решение также. Возможно, это будет иметь некоторую справку,
От AWS Dev Commnity, Но на многих языках (PHP, Java), для больших файлов, необходимо использовать потоки, через которые языковая среда возьмет блоки большого файла один за другим (для заполнения центральной памяти огромным объемом данных для http POST S3, необходимого для загрузки.
Хорошая вещь о потоке состоит в том, что им назвали обратный вызов каждый раз, когда следующий блок читается из далее ПОМЕСТИТЬ (в смысл https) данные к S3. Можно использовать этот обратный вызов, чтобы вычислить и отобразить достижения по клиенту UI.
См. документ libcurl для наблюдения в деталях, как все это работает.
Обновление: похоже, что существует две простых опции.
Я лично очень не хочу использовать сторонние расширения (Flash, Java) для создания функции приложения, но я не нашел иначе.
Другой подход - использовать что-то вроде Uber Uploader ( http://uber-uploader.sourceforge.net/ ), который представляет собой гибридное решение perl / php с индикатором выполнения. Вы просто загрузите файлы на свой сервер, а затем отправите их по FTP в фоновый режим в конечный пункт назначения. Это дополнительный шаг, но он дает вам некоторое время для обработки / кодирования и т. Д., Которые могут потребоваться перед отправкой на S3.