1.7.1 • Published 12 days ago

cos-js-sdk-v5 v1.7.1

Weekly downloads
2,771
License
ISC
Repository
github
Last release
12 days ago

cos-js-sdk-v5

腾讯云 COS JS SDK(XML API

releases and changelog

Get started

一、前期准备

  1. 首先,JS SDK 需要浏览器支持基本的 HTML5 特性,以便支持 ajax 上传文件和计算文件 md5 值。
  2. COS对象存储控制台 创建存储桶,得到 Bucket(由bucketname-appid 组成,appid必须填入) 和 Region(地域名称)
  3. 控制台密钥管理 获取您的项目 SecretId 和 SecretKey
  4. 配置 CORS 规则,配置例子如下图:

cors

二、计算签名

由于签名计算放在前端会暴露 SecretId 和 SecretKey,我们把签名计算过程放在后端实现,前端通过 ajax 向后端获取签名结果,正式部署时请在后端加一层自己网站本身的权限检验。

这里提供 PHP 和 NodeJS 的签名例子,其他语言,请参照对应的 XML SDK

三、上传例子

  1. 创建 test.html,填入下面的代码,修改里面的 Bucket 和 Region。
  2. 部署好后端的签名服务,并修改 getAuthorization 里的签名服务地址
  3. 把 test.html 放在 Web 服务器下,然后在浏览器访问页面,测试文件上传
<input id="file-selector" type="file">
<script src="dist/cos-js-sdk-v5.min.js"></script>
<script>
  
// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
var Bucket = 'test-1250000000';
// 存储桶Region可以在COS控制台指定存储桶的概览页查看 https://console.cloud.tencent.com/cos5/bucket/ 
// 关于地域的详情见 https://cloud.tencent.com/document/product/436/6224
var Region = 'ap-guangzhou';

// 初始化实例
var cos = new COS({
    getAuthorization: function (options, callback) {
        var url = '../server/sts.php'; // 这里替换成您的服务接口地址
        var xhr = new XMLHttpRequest();
        xhr.open('GET', url, true);
        xhr.onload = function (e) {
            try {
                var data = JSON.parse(e.target.responseText);
                var credentials = data.credentials;
            } catch (e) {
            }
            if (!data || !credentials) return console.error('credentials invalid');
            callback({
                TmpSecretId: credentials.tmpSecretId,
                TmpSecretKey: credentials.tmpSecretKey,
                XCosSecurityToken: credentials.sessionToken,
                StartTime: data.startTime, // 时间戳,单位秒,如:1580000000,建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误
                ExpiredTime: data.expiredTime, // 时间戳,单位秒,如:1580000900
            });
        };
        xhr.send();
    }
});

var taskId;

// 监听选文件
document.getElementById('file-selector').onchange = function () {

    var file = this.files[0];
    if (!file) return;

    // 上传文件
    cos.uploadFile({
        Bucket: Bucket,
        Region: Region,
        Key: file.name,
        Body: file,
        SliceSize: 1024 * 1024, // 大于1mb才进行分块上传
        onTaskReady: function (tid) {
          taskId = tid;
        },
        onProgress: function (progressData) {
            console.log('上传中', JSON.stringify(progressData));
        },
    }, function (err, data) {
        console.log(err, data);
    });

    // 可使用队列暂停、重启任务
    // cos.pauseTask(taskId);

};
</script>

webpack 引入方式

支持 webpack 打包的场景,可以用 npm 引入作为模块

npm i cos-js-sdk-v5 --save

Start Demo

1. git clone cos-js-sdk-v5 至本地
2. cd cos-js-sdk-v5 进入根目录后执行:npm install
3. 修改 server 文件夹中 sts.js 或 sts.php 中的 secretId、secretKey、bucket、region 配置;注意allowPrefix和allowActions需要设置适当的权限
4. npm run server # 用 node 启动服务
5. 浏览器输入 http://127.0.0.1:3000/ 即可进行 demo 演示

说明文档

使用例子

快速入门

接口文档

cipher-solomon@titaui/pcdddms-ui-elaegis-video-conferenceim-reim-reactdyt_chartupload-files-servicetowify-live-table-sdkwdn-h5imsdk2lingxing-uicmp-cos-plugin-tfb-adm-ui@everything-registry/sub-chunk-1390@vue-design/uiqytbase-coresim-storage-js-sdkqingjs-h5reap-designsocialuni-ui-unisocialuni-user-view-h5socialuni-user-view-unisocialuni-app-sdksocialuni-app-view-h5socialuni-app-view-unisocialuni-community-view-unisocialuni-native-h5socialuni-native-unisocialuni-native-utilsocialuni-ui-h5@wltech/mobile-ui@treelab/pandatiw-log@xcomponents/storagetimsdk-demotim-chatroadcloud-storagerocket-h5sdc-editor-uisdc-mce-editorsdzh-tools@szmg-fe/hookstest-20220704@xiatu/material@xiatianwhitedey/zeta-uploadereverestrectshipdvawebeco-ui1231231236element-plus-adminelement-formfellw-rest_template-admin-ui-vuefenbi-webim-sdkft-upload-helpergd-webimge-coresge-cores-betage-adminfhrons-pc-uifork-reap-designfork-reap-design-beta.0mbb-utilsmolestiaeiustomy-vod-js-sdk-v6modsdom-uilocation-asrlanyunit-uploaderliang-react-hooklqd-duakduccm-downloaderm-uploaderm-uploader-coslazyloadtestlby-dom-componentim-trtc-sdkim_plugin@evam/components@evam/utils@fast-crud/extend-types@fast-crud/extend-uploader@fast-crud/extends-uploader@fast-crud/fast-crud-extends@fast-crud/fast-extendsmiitee-electron-sdkmiitee-web-sdk-betah5-rebderingh5-renderingh5builderh5builder-coreh5builder-editerh5builder-viewerhb-upload-v1knox-tooljwt-uikosmos_autocurd_terminalhaocai-supervisor-adminjtbase-coreoss-uploader.jsny-cms-nextjsny-cms
1.7.1

12 days ago

1.7.0

2 months ago

1.6.0

3 months ago

1.5.0

4 months ago

1.4.22

5 months ago

1.4.20

9 months ago

1.4.21

7 months ago

1.4.19

9 months ago

1.4.18

11 months ago

1.4.17

12 months ago

1.4.16

1 year ago

1.4.15-beta.1

1 year ago

1.4.15-beta.0

1 year ago

1.4.15

1 year ago

1.4.11

1 year ago

1.4.10

2 years ago

1.4.13

1 year ago

1.4.12

1 year ago

1.4.14

1 year ago

1.4.9

2 years ago

1.4.6

2 years ago

1.3.9

2 years ago

1.4.1-beta0.5

2 years ago

1.4.1-beta0.4

2 years ago

1.4.1-beta0.3

2 years ago

1.4.1-beta0.2

2 years ago

1.4.1-beta0.1

2 years ago

1.4.1-beta0.0

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.10

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.21

2 years ago

1.2.20

3 years ago

1.2.18

3 years ago

1.2.16

3 years ago

1.2.15

3 years ago

1.2.14

3 years ago

1.2.12

3 years ago

1.2.13

3 years ago

1.2.11

3 years ago

1.2.10

3 years ago

1.2.9

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.10

3 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.3

3 years ago

1.1.1

3 years ago

1.1.2

3 years ago

1.1.0

3 years ago

1.0.4

3 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.5.27

4 years ago

0.5.26

4 years ago

0.5.24

4 years ago

0.5.23

4 years ago

0.5.22

4 years ago

0.5.21

4 years ago

0.5.20

5 years ago

0.5.19

5 years ago

0.5.18

5 years ago

0.5.17

5 years ago

0.5.16

5 years ago

0.5.13

5 years ago

0.5.12

5 years ago

0.5.11

5 years ago

0.5.10

5 years ago

0.5.8

5 years ago

0.5.7

5 years ago

0.5.6

5 years ago

0.5.5

5 years ago

0.5.4

5 years ago

0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.28

5 years ago

0.4.27

5 years ago

0.4.26

5 years ago

0.4.25

5 years ago

0.4.24

5 years ago

0.4.23

5 years ago

0.4.22

5 years ago

0.4.20

6 years ago

0.4.19

6 years ago

0.4.18

6 years ago

0.4.17

6 years ago

0.4.16

6 years ago

0.4.14

6 years ago

0.4.13

6 years ago

0.4.12

6 years ago

0.4.11

6 years ago

0.4.10

6 years ago

0.4.9

6 years ago

0.4.7

6 years ago

0.4.6

6 years ago

0.4.5

6 years ago

0.4.4

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.11

6 years ago

0.3.10

6 years ago

0.3.9

6 years ago

0.3.7

6 years ago

0.3.5

6 years ago

0.3.4

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.11

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago

0.0.0

7 years ago