简介
本文介绍对象存储 COS 通过 JavaScript SDK 实现预请求跨域配置的示例代码和描述。
注意事项
前期准备
功能说明
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);});
参数说明
回调函数说明
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 |