tencent cloud

All product documents
Cloud Object Storage
Cross-Origin Resource Sharing
Last updated: 2024-01-23 17:15:08
Cross-Origin Resource Sharing
Last updated: 2024-01-23 17:15:08

Overview

This document provides an overview of APIs and SDK sample codes for cross-origin resource sharing (CORS).
API
Operation
Description
Setting CORS configuration
Sets the CORS permissions of bucket
Querying CORS configuration
Queries the CORS configuration of a bucket
Deleting CORS configuration
Deletes the CORS configuration of a bucket

SDK API References

For parameters and method description of all APIs in the SDK, see SDK API Reference.

Setting CORS Configuration

Feature description

This API is used to set the CORS configuration of a specified bucket.

Sample code

Objective-C
QCloudPutBucketCORSRequest* putCORS = [QCloudPutBucketCORSRequest new];
QCloudCORSConfiguration* cors = [QCloudCORSConfiguration new];

QCloudCORSRule* rule = [QCloudCORSRule new];

// Set rule ID
rule.identifier = @"sdk";

// Allowed HTTP request headers. The wildcard "*" is supported.
rule.allowedHeader = @[@"origin",@"host",@"accept",
@"content-type",@"authorization"];
rule.exposeHeader = @"ETag";

// Allowed HTTP method values (such as GET, PUT, HEAD, POST and DELETE)
rule.allowedMethod = @[@"GET",@"PUT",@"POST", @"DELETE", @"HEAD"];

// Validity period of results
rule.maxAgeSeconds = 3600;

// Allowed origin in the format of `protocol://domain name[:port number]`. The wildcard * is supported.
rule.allowedOrigin = @"http://cloud.tencent.com";

cors.rules = @[rule];
putCORS.corsConfiguration = cors;

// Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
putCORS.bucket = @"examplebucket-1250000000";

[putCORS setFinishBlock:^(id outputObject, NSError *error) {
// You can get the header information returned by the server from outputObject
NSDictionary * result = (NSDictionary *)outputObject;
}];

[[QCloudCOSXMLService defaultCOSXML] PutBucketCORS:putCORS];
Note:
For the complete sample, go to GitHub.
Swift
let putBucketCorsReq = QCloudPutBucketCORSRequest.init();

let corsConfig = QCloudCORSConfiguration.init();

let rule = QCloudCORSRule.init();

// Set rule ID
rule.identifier = "rule1";

// Allowed HTTP request headers. The wildcard "*" is supported.
rule.allowedHeader = ["origin","host","accept","content-type","authorization"];
rule.exposeHeader = "Etag";

// Allowed HTTP method values (such as GET, PUT, HEAD, POST and DELETE)
rule.allowedMethod = ["GET","PUT","POST", "DELETE", "HEAD"];

// Validity period of results
rule.maxAgeSeconds = 3600;

// Allowed origin in the format of `protocol://domain name[:port number]`. The wildcard * is supported.
rule.allowedOrigin = "*";

corsConfig.rules = [rule];
putBucketCorsReq.corsConfiguration = corsConfig;

// Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
putBucketCorsReq.bucket = "examplebucket-1250000000";
putBucketCorsReq.finishBlock = {(result,error) in
if let result = result {
// You can get the header information returned by the server from result
} else {
print(error!)
}
}
QCloudCOSXMLService.defaultCOSXML().putBucketCORS(putBucketCorsReq);
Note:
For the complete sample, go to GitHub.

Querying CORS Configuration

Feature description

This API is used to query the CORS configuration of a bucket.

Sample code

Objective-C
QCloudGetBucketCORSRequest* corsRequest = [QCloudGetBucketCORSRequest new];

// Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
corsRequest.bucket = @"examplebucket-1250000000";

[corsRequest setFinishBlock:^(QCloudCORSConfiguration * _Nonnull result,
NSError * _Nonnull error) {
// List of CORS rules
NSArray<QCloudCORSRule*> *rules = result.rules;

}];

[[QCloudCOSXMLService defaultCOSXML] GetBucketCORS:corsRequest];
Note:
For the complete sample, go to GitHub.
Swift
let getBucketCorsRes = QCloudGetBucketCORSRequest.init();

// Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
getBucketCorsRes.bucket = "examplebucket-1250000000";
getBucketCorsRes.setFinish { (corsConfig, error) in
if let corsConfig = corsConfig {
// List of CORS rules
let rules = corsConfig.rules
} else {
print(error!)
}
}
QCloudCOSXMLService.defaultCOSXML().getBucketCORS(getBucketCorsRes);
Note:
For the complete sample, go to GitHub.

Deleting CORS Configuration

Feature description

This API is used to delete the CORS configuration of a bucket.

Sample code

Objective-C
QCloudDeleteBucketCORSRequest* deleteCORS = [QCloudDeleteBucketCORSRequest new];

// Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
deleteCORS.bucket = @"examplebucket-1250000000";

[deleteCORS setFinishBlock:^(id outputObject, NSError *error) {
// You can get the header information returned by the server from outputObject
NSDictionary* info = (NSDictionary *) outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] DeleteBucketCORS:deleteCORS];
Note:
For the complete sample, go to GitHub.
Swift
let deleteBucketCorsRequest = QCloudDeleteBucketCORSRequest.init();

// Bucket name in the format of BucketName-APPID, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket
deleteBucketCorsRequest.bucket = "examplebucket-1250000000";

deleteBucketCorsRequest.finishBlock = {(result,error) in
if let result = result {
// You can get the header information returned by the server from result
} else {
print(error!)
}
}
QCloudCOSXMLService.defaultCOSXML().deleteBucketCORS(deleteBucketCorsRequest);
Note:
For the complete sample, go to GitHub.
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 available.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon