Я установил 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 — это путь к файлу.
Попробуй это: 'Body' => fopen($pathToFile, 'r+')
От документация
Передайте строку, содержащую тело, дескриптор, возвращенный fopen, или
Guzzle \ Http \ EntityBodyInterface объект
Других решений пока нет …