设置对象访问权限
对象默认的权限是拥有者私有权限,只能由拥有者进行访问;系统提供公共读和公共读写等权限供用户选择。用户可以在上传的时候设置对象的访问权限,也可以通过putObjectAcl接口修改对象的访问权限。
接口定义:
- (void)putObjectAcl:(AWSS3PutObjectAclRequest *)request
completionHandler:(void (^ _Nullable)(AWSS3PutObjectAclOutput * _Nullable response, NSError * _Nullable error))completionHandler;
参数:
参数名 | 类型 | 说明 |
---|---|---|
bucket | NSString | bucket名 |
key | NSString | 将要上传的对象的文件名 |
ACL | AWSS3ObjectCannedACL | 文件控制权限,如AWSS3ObjectCannedACLPublicRead |
代码示例:
- (void) putObjectAcl:(NSString*) bucketName key:(NSString*)keyName {
AWSS3PutObjectAclRequest *request = [[AWSS3PutObjectAclRequest alloc] init];
request.bucket = bucketName;
request.key = keyName;
request.ACL = AWSS3ObjectCannedACLPublicRead;
[self.s3 putObjectAcl:request completionHandler:^(AWSS3PutObjectAclOutput * _Nullable response, NSError * _Nullable error) {
if (error != nil) {
NSLog(@"error: %@", error);
return;
}
NSLog(@"success");
}];
}