Amazon S3 Bucket Загрузить все файлы пусто

Я установил amazon aws SDK для php. Я пытаюсь загрузить файл с сервера в корзину s3. Итак, вот текущий поток, пользователь загружает изображение, мы сохраняем его, затем запускаем сценарий обрезки. Затем у нас есть изображение, полностью обрезанное и готовое к сохранению в нашем экземпляре ec2. Затем я хочу перенести этот файл в корзину s3, чтобы удалить его с сервера. Моя проблема в том, что процесс загрузки «работает», но все загружаемые файлы имеют размер 20-50 байт. Вот мой код ниже

$s3 = App::make('aws')->get('s3');
$s3->putObject(array(
'Bucket'     => 'images',
'ACL'           => 'public-read',
'Key'        => '/avatars/myImage.jpg',
'ContentType' => 'image/jpeg',
'Body' => $imgUrl
));

Это создает файл на моем Amazon S3 Bucket, правильного типа, местоположения и разрешений. Но файл всегда 20-50 байт, иначе пустой. Есть идеи, что может быть причиной этого? $ imgUrl — это путь к файлу.

2

Решение

Попробуй это: 'Body' => fopen($pathToFile, 'r+')

От документация

Передайте строку, содержащую тело, дескриптор, возвращенный fopen, или
Guzzle \ Http \ EntityBodyInterface объект

4

Другие решения

Других решений пока нет …