PHP S3 SDK putObject erro“;无效资源类型”;


PHP S3 SDK putObject erro "invalid resource type"

嗨,我正在尝试使用PHP SDK传输文件,但收到一个"无效资源类型"。

$client = 'Aws'S3'S3Client::factory(array(
    'key' => $key,
    'secret' => $secret
));
try {
    $client->putObject(array(
        'Bucket' => 'bucket/uploads/photos',
        'Key' => 'example.jpg',
        'SourceFile' => '/absolute/path/to/example.jpg',
        'ACL' => 'public-read'
    ));
} catch('Exception $e) {
    echo $e->getMessage();
}

我用Amazon策略模拟器测试了IAM用户,该用户可以访问该资源的putObject。

SDK版本为2.6.15。

我还在"Body"而不是"SourceFile"中测试了"Hello world"。如果我使用正文和纯文本,它是有效的。

我还能做什么?

尝试Body:

$client->putObject(array(
    'Bucket' => 'bucket/uploads/photos',
    'Key  ' => 'example.jpg',
    'Body' => fopen('/absolute/path/to/example.jpg','r'),
    'ACL' => 'public-read-write',
    'ContentType' => 'image/jpeg'
));