tencent cloud

14天试用边缘安全加速平台 EO 限时免费

文档反馈

对象存储

跨域访问

最后更新时间:2024-01-22 11:32:01

简介

本文档提供关于跨域访问的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
设置跨域配置
设置存储桶的跨域名访问权限
查询跨域配置
查询存储桶的跨域名访问配置信息
删除跨域配置
删除存储桶的跨域名访问配置信息

设置跨域配置

注意:
如果要在前端修改跨域访问配置,需要该存储桶本身支持跨域,您可以在控制台进行跨域访问配置,详情请参见 快速入门 文档。
在修改跨域访问配置时,请注意不要影响到当前的 Origin 下的跨域请求。

功能说明

设置存储桶的跨域名访问权限,您可以通过传入 XML 格式的配置文件来实现配置,文件大小限制为64KB。默认情况下,存储桶的持有者直接有权限使用该 API 接口,存储桶持有者也可以将权限授予其他用户。

请求示例

cos.putBucketCors({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
CORSRules: [{
"AllowedOrigin": ["*"],
"AllowedMethod": ["GET", "POST", "PUT", "DELETE", "HEAD"],
"AllowedHeader": ["*"],
"ExposeHeader": ["ETag", "x-cos-acl", "x-cos-version-id", "x-cos-delete-marker", "x-cos-server-side-encryption"],
"MaxAgeSeconds": "5"
}]
}, function(err, data) {
console.log(err || data);
});

参数说明

参数名称
描述
类型
是否必填
Bucket
设置跨域配置的存储桶,格式:BucketName-APPID
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String
CORSRules
说明跨域资源共享配置的所有信息列表
ObjectArray
- ID
配置规则的 ID
String
- AllowedMethods
允许的 HTTP 操作,枚举值:GET、PUT、HEAD、POST、DELETE 等
StringArray
- AllowedOrigins
允许的访问来源,支持通配符*,格式为:协议://域名[:端口],例如:http://www.qq.com
StringArray
- AllowedHeaders
在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符*
StringArray
- ExposeHeaders
设置浏览器可以接收到的来自服务器端的自定义头部信息
StringArray
- MaxAgeSeconds
设置 OPTIONS 请求得到结果的有效期
String

回调函数说明

function(err, data) { ... }
参数名称
描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,详情请参见 错误码 文档
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object

查询跨域配置

功能说明

GET Bucket cors 接口实现查询存储桶的跨域名访问配置信息。(CORS 是一个 W3C 标准,全称是"跨域资源共享"(Cross-origin Resource Sharing))。默认情况下,存储桶的持有者直接有权限使用该 API 接口,存储桶持有者也可以将权限授予其他用户。

请求示例

cos.getBucketCors({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
}, function(err, data) {
console.log(err || data);
});

返回示例

{
"CORSRules": [{
"MaxAgeSeconds": "5",
"AllowedOrigins": ["*"],
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET", "POST", "PUT", "DELETE", "HEAD"],
"ExposeHeaders": ["ETag", "Content-Length", "x-cos-acl", "x-cos-version-id", "x-cos-request-id", "x-cos-delete-marker", "x-cos-server-side-encryption"]
}],
"statusCode": 200,
"headers": {}
}

参数说明

参数名称
描述
类型
是否必填
Bucket
查询跨域配置的存储桶,格式:BucketName-APPID
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String

回调函数说明

function(err, data) { ... }
参数名
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,详情请参见 错误码 文档
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- CORSRules
说明跨域资源共享配置的所有信息列表
ObjectArray
- - AllowedMethods
允许的 HTTP 操作,枚举值:GET、PUT、HEAD、POST、DELETE
StringArray
- - AllowedOrigins
允许的访问来源,支持通配符*,格式为:协议://域名[:端口]
例如:http://www.qq.com
StringArray
- - AllowedHeaders
在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符*
StringArray
- - ExposeHeaders
设置浏览器可以接收到的来自服务器端的自定义头部信息
StringArray
- - MaxAgeSeconds
设置 OPTIONS 跨域信息缓存秒数
String
- - ID
配置规则的 ID
String

删除跨域配置

功能说明

删除存储桶的跨域名访问配置信息。
注意:
删除当前存储桶的跨域访问配置信息,会导致所有请求跨域失败,请谨慎操作。
不推荐在浏览器端使用该方法。

请求示例

cos.deleteBucketCors({
Bucket: 'examplebucket-1250000000', /* 必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
}, function(err, data) {
console.log(err || data);
});

参数说明

参数名称
描述
类型
是否必填
Bucket
被删除跨域配置的存储桶,格式:BucketName-APPID
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String

回调函数说明

function(err, data) { ... }
参数名称
描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,详情请参见 错误码 文档
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
联系我们

联系我们,为您的业务提供专属服务。

技术支持

如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

7x24 电话支持
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