有奖征文:轻量对象存储LighthouseCOS用户实践> HOT

简介

本文档提供关于预请求跨域配置操作相关的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
预请求跨域配置
用预请求来确认是否可以发送真正的跨域请求

功能说明

OPTIONS Object 接口实现对对象进行跨域访问配置的预请求。即在发送跨域请求之前会发送一个 OPTIONS 请求并带上特定的来源域,HTTP 方法和 HEADER 信息等给 COS,以决定是否可以发送真正的跨域请求。当 CORS 配置不存在时,请求返回403 Forbidden。用户可以通过 PUT Bucket cors 接口来开启存储桶的 CORS 支持。

使用示例

cos.optionsObject({
Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */
Region: 'COS_REGION', /* 存储桶所在地域,例如ap-beijing,必须字段 */
Key: '1.jpg', /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */
Origin: 'https://www.qq.com', /* 必须 */
AccessControlRequestMethod: 'PUT', /* 必须 */
AccessControlRequestHeaders: 'origin,accept,content-type' /* 非必须 */
}, function(err, data) {
console.log(err || data);
});

参数说明

参数名
参数描述
类型
是否必填
Bucket
存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式
String
Region
存储桶所在地域,枚举值请参见 地域和访问域名
String
Key
对象键(Object 的名称),对象在存储桶中的唯一标识,详情请参见 对象概述
String
Origin
模拟跨域访问的请求来源域名
String
AccessControlRequestMethod
模拟跨域访问的请求 HTTP 方法
String
AccessControlRequestHeaders
模拟跨域访问的请求头部
String

回调函数说明

function(err, data) { ... }
参数名
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误,如果请求成功则为空,更多详情请参见 错误码 文档
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- headers
请求返回的头部信息
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- AccessControlAllowOrigin
模拟跨域访问的请求来源域名,中间用逗号间隔,当来源不允许的时候,此 Header 不返回,例如*
String
- AccessControlAllowMethods
模拟跨域访问的请求 HTTP 方法,中间用逗号间隔,当请求方法不允许的时候,此 Header 不返回,例如 PUT,GET,POST,DELETE,HEAD
String
- AccessControlAllowHeaders
模拟跨域访问的请求头部,中间用逗号间隔,当模拟任何请求头部不允许的时候,此 Header 不返回该请求头部,例如 accept,content-type,origin,authorization
String
- AccessControlExposeHeaders
跨域支持返回头部,中间用逗号间隔,例如 ETag
String
- AccessControlMaxAge
设置 OPTIONS 请求得到结果的有效期,例如3600
String
- OptionsForbidden
OPTIONS 请求是否被禁止,如果返回的 HTTP 状态码为403,则为 true
Boolean