简介
本文档提供关于跨域访问的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
设置跨域配置 | 设置存储桶的跨域名访问权限 | |
查询跨域配置 | 查询存储桶的跨域名访问配置信息 | |
删除跨域配置 | 删除存储桶的跨域名访问配置信息 |
SDK API 参考
设置跨域配置
功能说明
示例代码
// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucketString bucket = "examplebucket-1250000000";PutBucketCORSRequest putBucketCORSRequest = new PutBucketCORSRequest(bucket);CORSConfiguration.CORSRule corsRule = new CORSConfiguration.CORSRule();// 配置规则的 IDcorsRule.id = "123";// 允许的访问来源,支持通配符 *,格式为:协议://域名[:端口]corsRule.allowedOrigin = "https://cloud.tencent.com";// 设置 OPTIONS 请求得到结果的有效期corsRule.maxAgeSeconds = 5000;List<String> methods = new LinkedList<>();methods.add("PUT");methods.add("POST");methods.add("GET");// 允许的 HTTP 操作,例如:GET,PUT,HEAD,POST,DELETEcorsRule.allowedMethod = methods;List<String> headers = new LinkedList<>();headers.add("host");headers.add("content-type");// 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用的 HTTP 请求头部,支持通配符 *corsRule.allowedHeader = headers;List<String> exposeHeaders = new LinkedList<>();exposeHeaders.add("x-cos-meta-1");// 设置浏览器可以接收到的来自服务端的自定义头部信息corsRule.exposeHeader = exposeHeaders;putBucketCORSRequest.addCORSRule(corsRule);cosXmlService.putBucketCORSAsync(putBucketCORSRequest,new CosXmlResultListener() {@Overridepublic void onSuccess(CosXmlRequest request, CosXmlResult result) {PutBucketCORSResult putBucketCORSResult = (PutBucketCORSResult) result;}// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?@Overridepublic void onFail(CosXmlRequest cosXmlRequest,@Nullable CosXmlClientException clientException,@Nullable CosXmlServiceException serviceException) {if (clientException != null) {clientException.printStackTrace();} else {serviceException.printStackTrace();}}});
说明
查询跨域配置
功能说明
查询指定存储桶的跨域名访问配置信息(GET Bucket cors)。
示例代码
// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucketString bucket = "examplebucket-1250000000";GetBucketCORSRequest getBucketCORSRequest = new GetBucketCORSRequest(bucket);cosXmlService.getBucketCORSAsync(getBucketCORSRequest,new CosXmlResultListener() {@Overridepublic void onSuccess(CosXmlRequest request, CosXmlResult result) {GetBucketCORSResult getBucketCORSResult = (GetBucketCORSResult) result;}// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?@Overridepublic void onFail(CosXmlRequest cosXmlRequest,@Nullable CosXmlClientException clientException,@Nullable CosXmlServiceException serviceException) {if (clientException != null) {clientException.printStackTrace();} else {serviceException.printStackTrace();}}});
说明
删除跨域配置
功能说明
删除指定存储桶的跨域名访问配置(DELETE Bucket cors)。
示例代码
// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucketString bucket = "examplebucket-1250000000";DeleteBucketCORSRequest deleteBucketCORSRequest =new DeleteBucketCORSRequest(bucket);cosXmlService.deleteBucketCORSAsync(deleteBucketCORSRequest,new CosXmlResultListener() {@Overridepublic void onSuccess(CosXmlRequest request, CosXmlResult result) {DeleteBucketCORSResult deleteBucketCORSResult =(DeleteBucketCORSResult) result;}// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?@Overridepublic void onFail(CosXmlRequest cosXmlRequest,@Nullable CosXmlClientException clientException,@Nullable CosXmlServiceException serviceException) {if (clientException != null) {clientException.printStackTrace();} else {serviceException.printStackTrace();}}});
说明