Я установил amazon aws SDK для php. Я пытаюсь загрузить файл с сервера в ведро s3. Итак, вот текущий поток, пользователь загружает картинку, мы сохраняем ее, затем запускаем сценарий обрезки. Затем мы получим изображение, обрезанное и готовое к работе, сохраненное на нашем экземпляре ec2. Затем я хочу перенести этот файл в ведро s3, чтобы удалить его с сервера. Моя проблема заключается в том, что процесс загрузки «работает», но все файлы, которые загружаются, составляют 20-50 байтов. Вот мой код нижеAmazon S3 Bucket Загрузить все файлы пустые
$s3 = App::make('aws')->get('s3');
$s3->putObject(array(
'Bucket' => 'images',
'ACL' => 'public-read',
'Key' => '/avatars/myImage.jpg',
'ContentType' => 'image/jpeg',
'Body' => $imgUrl
));
Это создает файл на моем амазонка s3 ведро, правого типа, расположения и разрешений. Но файл всегда 20-50bytes aka empty. Любая идея, что может быть причиной этого? $ imgUrl - путь к файлу.
Как выглядит файл на сервере перед загрузкой? –
Если я вручную перейду в файл на сервере ec2, во время загрузки или после того, как он выглядит полностью нормальным и не будет 20-50 байт. – CMOS
Попробуйте следующее: ** ''Тело' => fopen ($ pathToFile, 'r +')' **. Из документации: «Передайте строку, содержащую тело, дескриптор, возвращаемый fopen, или объект Guzzle \ Http \ EntityBodyInterface» – slayedbylucifer