嗨,我正在尝试使用PHP SDK传输文件,但收到一个"无效资源类型"。
$client = AwsS3S3Client::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'
));