使用aws sdk php将图像上传到s3 bucket usket

时间:2016-06-24 19:39:59

标签: php amazon-web-services amazon-s3

我正在尝试使用以下代码将文件从我的PHP代码移动到s3存储桶:

  $bucket = "bucket-name";

        $s3 = S3Client::factory(array(
            'key'    => 'xxxxxx',
            'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        ));


            $baseImageUrl = "http://www.xxxxx.com/banner_mobile.jpg";

            $keyname = "31.jpg";
            try {
            // Upload data.
            $result = $s3->putObject(array(
                 'Bucket'       => $bucket,
                'Key'          => $keyname,
                'Body'   => $baseImageUrl,
                'ContentType'  => 'image/jpg',
                'ACL'          => 'public-read'

            ));
            // Print the URL to the object.
            echo $result['ObjectURL'] . "\n";

            } catch (S3Exception $e) {
                echo $e->getMessage() . "\n";
            } catch(Exception $ex){
                echo $ex->getMessage()."\n";
            }

空文件(或损坏的文件)上传到s3存储桶。图像的实际大小为37KB,但上传的文件大小为40B。这是什么原因?

1 个答案:

答案 0 :(得分:0)

由于您似乎正在将网址作为文件正文插入,因此您需要上传带有文字的图片文件,如果您要上传该文件,则需要使用该文件路径或文件内容