QCloudPutBucketCORSRequest Class Reference
Inherits from | QCloudBizHTTPRequest |
---|---|
Declared in | QCloudPutBucketCORSRequest.h QCloudPutBucketCORSRequest.m |
Overview
设置存储桶(Bucket) 的跨域配置信息的方法.
功能描述
跨域访问配置的预请求是指在发送跨域请求之前会发送一个 OPTIONS 请求并带上特定的来源域, HTTP 方 法和 header 信息等给 COS,以决定是否可以发送真正的跨域请求. 当跨域访问配置不存在时, 请求返回403 Forbidden.
默认情况下,Bucket的持有者可以直接配置 Bucket的跨域信息 ,Bucket 持有者也可以将配置权限授予其他用户. 新的配置是覆盖当前的所有配置信 息,而不是新增一条配置.可以通过传入 XML 格式的配置文件来实现配置,文件大小限制为64 KB.
关于设置 Bucket 的跨域配置信息接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/8279.
示例
@code
QCloudPutBucketCORSRequest* putCORS = [QCloudPutBucketCORSRequest new];
QCloudCORSConfiguration* cors = [QCloudCORSConfiguration new];
QCloudCORSRule* rule = [QCloudCORSRule new];
// 配置规则的 ID
rule.identifier = @"rule1";
// 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用的 HTTP 请求头部,支持通配符 *
rule.allowedHeader = @[@"origin",@"host",@"accept", @"content-type",@"authorization"];
rule.exposeHeader = @"ETag";
// 允许的 HTTP 操作,例如:GET,PUT,HEAD,POST,DELETE
rule.allowedMethod = @[@"GET",@"PUT",@"POST", @"DELETE", @"HEAD"];
// 设置 OPTIONS 请求得到结果的有效期
rule.maxAgeSeconds = 3600;
// 允许的访问来源,支持通配符 *,格式为:协议://域名[:端口]
rule.allowedOrigin = @"http://cloud.tencent.com";
cors.rules = @[rule];
putCORS.corsConfiguration = cors;
// 存储桶名称,格式为 BucketName-APPID
putCORS.bucket = @"examplebucket-1250000000";
[putCORS setFinishBlock:^(id outputObject, NSError *error) {
// 可以从 outputObject 中获取服务器返回的 header 信息
NSDictionary * result = (NSDictionary *)outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] PutBucketCORS:putCORS];
corsConfiguration
设置跨bucket域访问的配置信息
@property (strong, nonatomic) QCloudCORSConfiguration *corsConfiguration
Declared In
QCloudPutBucketCORSRequest.h