上传对象
您可以使用 putObject 接口上传对象,以下代码展示如何上传一个对象:
$bucket = '<your-bucket-name>';
$object_key = '<your-object-key>';
$file_Path = '<your-file-path>';
try {
$result = $s3Client->putObject([
'Bucket' => $bucket,
'Key' => $object_key,
'SourceFile' => $file_Path,
]);
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
上传对象时如果不设置对象访问权限,默认的对象访问权限是 private,即只有对象的拥有者才能访问该对象,若需要改为公共读 public read,可以在上传对象时加入对象访问权限acl设置,您也可以在上传对象以后通过 putObjectAcl 更改对象访问权限,具体对象访问权限设置请参考3.2.8节。
以下代码展示如何设置在上传对象时通过 CannedAccesssControlList 设置对象访问权限为公共读:
$bucket = '<your-bucket-name>';
$object_key = '<your-object-key>';
$file_Path = '<your-file-path>';
try {
$result = $s3Client->putObject([
'ACL' => 'public-read', //设置 ACL 为公共读
'Bucket' => $bucket,
'Key' => $object_key,
'SourceFile' => $file_Path,
]);
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
注意:putObject对文件大小有限制,最大能上传1GB大小的文件,超过1GB需要使用分片上传。