Amazon S3 Bucket将所有文件上传为空

时间:2014-09-17 14:30:21

标签: php file-upload amazon-web-services amazon-ec2 amazon-s3

我已经为php安装了amazon aws SDK。我正在尝试将服务器上的文件上传到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存储桶上创建一个文件,其类型,位置和权限都是正确的。但是文件总是20-50字节,也就是空。知道是什么原因引起的吗? $ imgUrl是文件的路径。

1 个答案:

答案 0 :(得分:4)

试试这个: 'Body' => fopen($pathToFile, 'r+')

来自documentation

  

传递一个包含正文的字符串,一个由fopen返回的句柄,或者一个   Guzzle \ Http \ EntityBodyInterface对象