简介
本文档提供关于跨域访问的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
PUT Bucket cors | 设置跨域配置 | 设置存储桶的跨域名访问权限 |
GET Bucket cors | 查询跨域配置 | 查询存储桶的跨域名访问配置信息 |
DELETE Bucket cors | 删除跨域配置 | 删除存储桶的跨域名访问配置信息 |
SDK API 参考
SDK 所有接口的具体参数与方法说明,请参考 SDK API。
设置跨域配置
功能说明
设置指定存储桶的跨域名访问配置信息(PUT Bucket cors)。关于跨域访问的更多说明请参见 跨域访问,通过控制台设置跨域的操作步骤请参见 设置跨域访问 或 跨域访问最佳实践文档。
示例代码
Objective-C
QCloudPutBucketCORSRequest* putCORS = [QCloudPutBucketCORSRequest new];QCloudCORSConfiguration* cors = [QCloudCORSConfiguration new];
QCloudCORSRule* rule = [QCloudCORSRule new];
// 配置规则 IDrule.identifier = @"rule1";
// 跨域请求可以使用的 HTTP 请求头部,支持通配符 *rule.allowedHeader = @[@"origin",@"host",@"accept", @"content-type",@"authorization"];rule.exposeHeader = @"ETag";
// 跨域请求允许的 HTTP 操作,例如:GET,PUT,HEAD,POST,DELETErule.allowedMethod = @[@"GET",@"PUT",@"POST", @"DELETE", @"HEAD"];
// 跨域请求得到结果的有效期rule.maxAgeSeconds = 3600;
// 允许的访问来源,支持通配符 *,格式为:协议://域名[:端口]rule.allowedOrigin = @"http://cloud.tencent.com";
cors.rules = @[rule];putCORS.corsConfiguration = cors;
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketputCORS.bucket = @"examplebucket-1250000000";
[putCORS setFinishBlock:^(id outputObject, NSError *error) { // 可以从 outputObject 中获取服务器返回的 header 信息 NSDictionary * result = (NSDictionary *)outputObject;}];
[[QCloudCOSXMLService defaultCOSXML] PutBucketCORS:putCORS];
说明更多完整示例,请前往 GitHub 查看。Swift
let putBucketCorsReq = QCloudPutBucketCORSRequest.init();
let corsConfig = QCloudCORSConfiguration.init();
let rule = QCloudCORSRule.init();
// 配置规则的 IDrule.identifier = "rule1";
// 跨域请求可以使用的 HTTP 请求头部,支持通配符 *rule.allowedHeader = ["origin","host","accept","content-type","authorization"];rule.exposeHeader = "Etag";
// 跨域请求允许的 HTTP 操作,例如:GET,PUT,HEAD,POST,DELETErule.allowedMethod = ["GET","PUT","POST", "DELETE", "HEAD"];
// 跨域请求得到结果的有效期rule.maxAgeSeconds = 3600;
// 允许的访问来源,支持通配符 *,格式为:协议://域名[:端口]rule.allowedOrigin = "*";
corsConfig.rules = [rule];putBucketCorsReq.corsConfiguration = corsConfig;
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketputBucketCorsReq.bucket = "examplebucket-1250000000";putBucketCorsReq.finishBlock = {(result,error) in if let result = result { // 可以从 result 中获取服务器返回的 header 信息 } else { print(error!) }}QCloudCOSXMLService.defaultCOSXML().putBucketCORS(putBucketCorsReq);
说明更多完整示例,请前往 GitHub 查看。
查询跨域配置
功能说明
查询指定存储桶的跨域名访问配置信息(GET Bucket cors)。
示例代码
Objective-C
QCloudGetBucketCORSRequest* corsReqeust = [QCloudGetBucketCORSRequest new];
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketcorsReqeust.bucket = @"examplebucket-1250000000";
[corsReqeust setFinishBlock:^(QCloudCORSConfiguration * _Nonnull result, NSError * _Nonnull error) { // 跨域规则列表 NSArray *rules = result.rules;
}];
[[QCloudCOSXMLService defaultCOSXML] GetBucketCORS:corsReqeust];
说明更多完整示例,请前往 GitHub 查看。Swift
let getBucketCorsRes = QCloudGetBucketCORSRequest.init();
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketgetBucketCorsRes.bucket = "examplebucket-1250000000";getBucketCorsRes.setFinish { (corsConfig, error) in if let corsConfig = corsConfig { // 跨域规则列表 let rules = corsConfig.rules } else { print(error!) }}QCloudCOSXMLService.defaultCOSXML().getBucketCORS(getBucketCorsRes);
说明更多完整示例,请前往 GitHub 查看。
删除跨域配置
功能说明
删除指定存储桶的跨域名访问配置(DELETE Bucket cors)。
示例代码
Objective-C
QCloudDeleteBucketCORSRequest* deleteCORS = [QCloudDeleteBucketCORSRequest new];
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketdeleteCORS.bucket = @"examplebucket-1250000000";
[deleteCORS setFinishBlock:^(id outputObject, NSError *error) { // 可以从 outputObject 中获取服务器返回的 header 信息 NSDictionary* info = (NSDictionary *) outputObject;}];[[QCloudCOSXMLService defaultCOSXML] DeleteBucketCORS:deleteCORS];
说明更多完整示例,请前往 GitHub 查看。Swift
let deleteBucketCorsRequest = QCloudDeleteBucketCORSRequest.init();
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketdeleteBucketCorsRequest.bucket = "examplebucket-1250000000";
deleteBucketCorsRequest.finishBlock = {(result,error) in if let result = result { // 可以从 result 中获取服务器返回的 header 信息 } else { print(error!) }}QCloudCOSXMLService.defaultCOSXML().deleteBucketCORS(deleteBucketCorsRequest);
说明更多完整示例,请前往 GitHub 查看。
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/145671.html