更新时间:2023-11-09 GMT+08:00

设置跨域规则

开发过程中,您有任何问题可以在github上提交issue接口参考文档详细介绍了每个接口的参数和使用方法。

您可以通过ObsClient.setBucketCors设置桶的跨域规则,如果原规则存在则覆盖原规则。以下代码展示了如何设置跨域规则:

// 引入obs库
// 使用npm安装
var ObsClient = require('esdk-obs-nodejs');
// 使用源码安装
// var ObsClient = require('./lib/obs');

// 创建ObsClient实例
var obsClient = new ObsClient({
       //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。
       //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/intl/zh-cn/usermanual-ca/ca_01_0003.html
       access_key_id: process.env.ACCESS_KEY_ID,
       secret_access_key: process.env.SECRET_ACCESS_KEY,
       server : 'https://your-endpoint'
});

obsClient.setBucketCors({
       Bucket:'bucketname',
       CorsRules:[
           {
                     // 指定允许的跨域请求方法(GET/PUT/DELETE/POST/HEAD)
                     AllowedMethod: ['GET','HEAD','PUT'],
                     // 指定允许跨域请求的来源
                     AllowedOrigin: ['http://www.a.com','http://www.b.com'],
                     // 控制在OPTIONS预取指令中Access-Control-Request-Headers头中指定的header是否被允许使用
                     AllowedHeader: ['x-obs-header'],
                     // 指定允许用户从应用程序中访问的header
                     ExposeHeader: ['x-obs-expose-header'],
                     // 指定浏览器对特定资源的预取(OPTIONS)请求返回结果的缓存时间,单位为秒
                     MaxAgeSeconds: 10
              }
       ]
}, (err, result) => {
       if(err){
              console.log('Error-->' + err);
       }else{
              console.log('Status-->' + result.CommonMsg.Status);
       }
});
  • 使用CorsRules参数指定桶的CORS配置信息。
  • AllowedOrigin、AllowedHeader都能够最多支持一个“*”通配符。“*”表示对于所有的域来源或者头域都满足。