This document provides an overview of APIs and SDK sample codes related to cross-origin access.
API | Operation | Description |
---|---|---|
PUT Bucket cors | Setting a cross-origin access configuration | Sets the cross-origin access permissions of bucket |
GET Bucket cors | Querying a cross-origin access configuration | Queries the cross-origin access configuration of a bucket |
DELETE Bucket cors | Deleting cross-origin access configuration | Deletes the cross-origin access configuration of a bucket |
This API (PUT Bucket cors) is used to set cross-origin access configuration on a bucket.
public void setBucketCrossOriginConfiguration(String bucketName, BucketCrossOriginConfiguration bucketCrossOriginConfiguration);
// Enter the bucket name in the format of BucketName-APPID
String bucketName = "examplebucket-1250000000";
| bucketCrossOriginConfiguration | The cross-domain access rules set for a bucket | BucketCrossOriginConfiguration |
List<CORSRule> corsRules = new ArrayList<CORSRule>();
CORSRule corsRule = new CORSRule();
// Rule name
corsRule.setId("set-bucket-cors-test");
// Allowed HTTP method
corsRule.setAllowedMethods(CORSRule.AllowedMethods.PUT, CORSRule.AllowedMethods.GET, CORSRule.AllowedMethods.HEAD);
corsRule.setAllowedHeaders("x-cos-grant-full-control");
corsRule.setAllowedOrigins("http://mail.qq.com", "http://www.qq.com", "http://video.qq.com");
corsRule.setExposedHeaders("x-cos-request-id");
corsRule.setMaxAgeSeconds(60);
corsRules.add(corsRule);
bucketCORS.setRules(corsRules);
cosClient.setBucketCrossOriginConfiguration(bucketName, bucketCORS);
Parameter | Description | Type |
---|---|---|
bucketName | Bucket name in the format of BucketName-APPID . For more information, please see Naming Conventions |
String |
bucketCrossOriginConfiguration | Cross-origin access policy set for a bucket | BucketCrossOriginConfiguration |
CosClientException
or CosServiceException
exception thrown. For more information, please see Troubleshooting.This API is used to query the cross-origin access configuration of a bucket.
public BucketCrossOriginConfiguration getBucketCrossOriginConfiguration(String bucketName)
throws CosClientException, CosServiceException;
// Enter the bucket name in the format of BucketName-APPID
String bucketName = "examplebucket-1250000000";
BucketCrossOriginConfiguration corsGet = cosClient.getBucketCrossOriginConfiguration(bucketName);
List<CORSRule> corsRules = corsGet.getRules();
for (CORSRule rule : corsRules) {
List<CORSRule.AllowedMethods> allowedMethods = rule.getAllowedMethods();
List<String> allowedHeaders = rule.getAllowedHeaders();
List<String> allowedOrigins = rule.getAllowedOrigins();
List<String> exposedHeaders = rule.getExposedHeaders();
int maxAgeSeconds = rule.getMaxAgeSeconds();
}
Parameter | Description | Type |
---|---|---|
bucketName | Bucket name in the format of BucketName-APPID . For more information, please see Naming Conventions |
String |
CosClientException
or CosServiceException
exception thrown. For more information, please see Troubleshooting.This API is used to delete the cross-origin access configuration of a bucket.
public void deleteBucketCrossOriginConfiguration(String bucketName)
throws CosClientException, CosServiceException;
// Bucket name in the format of BucketName-APPID
String bucketName = "examplebucket-1250000000";
cosClient.deleteBucketCrossOriginConfiguration(bucketName);
Parameter | Description | Type |
---|---|---|
bucketName | Bucket name in the format of BucketName-APPID . For more information, please see Naming Conventions |
String |
CosClientException
or CosServiceException
exception thrown. For more information, please see Troubleshooting.
Was this page helpful?