安装SDK

环境差异

您可以在Node.js环境和浏览器环境中使用JavaScript SDK,但受限于浏览器环境本身的功能限制和安全性限制,在浏览器环境中,SDK的一些功能将无法使用。具体有如下几种情况:

  • 本地文件读写:浏览器中无法直接操作本地文件,所以BOS服务的PutObjectFromFile和GetObject等相关API将无法使用。类似的,Node.js环境也没有Blob对象,所以BOS服务的PutObjectFromBlob是专门为浏览器环境而开发的。

  • Bucket相关操作:由于浏览器跨域访问的限制,需要在服务端设置相应的CORS配置才能进行跨域访问。百度智能云已支持对特定Bucket内的对象进行CORS配置,但不支持对Bucket级别API的跨域访问,所以ListBuckets等API在浏览器端无法使用,Bucket级别的API请参考Bucket

Node.js环境

支持的Node.js版本

  • 4.x
  • 5.x

安装步骤

  1. JavaScript包已经上传npm管理器,直接使用npm安装SDK的开发包:

    npm install @baiducloud/sdk

  2. 然后在你的程序中使用:

    import {BosClient} from '@baiducloud/sdk';
    
    const config = {
        endpoint: <EndPoint>,         //传入Bucket所在区域域名
        credentials: {
            ak: <AccessKeyID>,         //您的AccessKey
            sk: <SecretAccessKey>       //您的SecretAccessKey
        }
    };
    
    let bucket = 'my-bucket';
    let key = 'hello.js';
    let client = new BosClient(config);
    
    client.putObjectFromFile(bucket, key, __filename)
        .then(response => console.log(response))    // 成功
        .catch(error => console.error(error));      // 失败
    

接口会返回一个promise对象。

浏览器环境

支持的浏览器版本

浏览器类型 最低版本
Google Chrome 28.0+
Microsoft Internet Explorer 10.0
Mozilla Firefox 23.0+
Apple Safari 5.1+
Opera 17.0+
Android Browser 4.3+

安装步骤

  1. 推荐使用 bower 来安装:

    npm install @baiducloud/sdk

  2. 通过<script>来加载 baidubce-sdk.bundle.min.js到页面:

    <script src="node_modules/@baiducloud/sdk/dist/baidubce-sdk.bundle.min.js"></script>
    

    当 js 加载到页面之后,可以用过全局变量 baidubce.sdk来使用 sdk 的功能。

  3. 然后在你的程序中使用:

    const config = {
       endpoint: <EndPoint>,         //传入Bucket所在区域域名
       credentials: {
          ak: <AccessKeyID>,         //您的AccessKey
          sk: <SecretAccessKey>       //您的SecretAccessKey
       }
    };
    
    let bucket = 'my-bucket';
    let key = 'hello.js';
    let client = new baidubce.sdk.BosClient(config);
    
    client.putObjectFromString(bucket, key, 'hello world')
        .then(response => console.log(response))    // 成功
        .catch(error => console.error(error));      // 失败