Проблемы с загрузкой изображений с помощью Amazon S3 и плагина jqueryfileupload
У меня есть еще одна проблема с Amazon и связана с загрузкой файлов. Я используюjqueryFileUpload и Amazon API 's, чтобы загрузить файлы на amazon S3.Мне удалось загрузить его, но это требует хитрости.
Я должен был сохранить изображение на моем сервере, а затем переместить его на S3 с помощьюputObjectFile
метод S3. Теперь плагин поставляется с отличными функциями для обрезки / изменения размера изображений, и я использую их с тех пор. Теперь, когда я интегрирую плагин с AWS, я сталкиваюсьпроблемы с производительностью с загрузкой. Время, затрачиваемое на загрузку, больше, чем обычно, и это вызывает у нас вопросы относительно использования AWS S3 по сравнению с традиционным способом.
Я должен был внести изменения в мойUploadHandler.php файл, чтобы заставить его работать. Эти изменения сделаны. я добавил часть кода загрузки AWS в файл из строкиОт 735 до 750
$bucket = "elasticbeanstalk-2-66938761981";
$s3 = new S3(awsAccessKey, awsSecretKey);
$response = $s3->putObjectFile($file_path,$bucket,$file->name,S3::ACL_PUBLIC_READ);
$thumbResponse = $s3->putObjectFile('files/thumbnail/'.$file->name,$bucket,'images/'.$file->name,S3::ACL_PUBLIC_READ);
//echo $response;
//echo $thumbResponse;
if ($response==1) {
//echo 'HERER enter!!';
} else {
$file->error = "<strong>Something went wrong while uploading your file... sorry.</strong>";
}
return $file;
Вот это ссылка на класс s3 на git. Обычная загрузка на мой текущий сервер (не amazon), загрузка того же изображения в15 сек, но на Amazon S3 это занимает около23 секунды и я не могу найти лучшего решения. Я должен сохранить изображение на своем сервере перед загрузкой на S3, так как я не уверен, что смогу их обработатьна лету и загрузить прямо на S3.
Кто-нибудь может предложить правильный способ решения проблемы? Можно ли изменить размеры изображений до различных размеров в памяти и загрузить их непосредственно на S3, избегая лишних затрат при сохранении их на нашем сервере? Если да, может кто-нибудь направить меня в правильном направлении?
Спасибо за внимание.