Skip to content

Commit 5a7559a

Browse files
authored
Merge pull request #111 from livehigh/feat/putObject_base64&returnUploadId
Feat/put object base64&return upload
2 parents 4a04539 + cb8f356 commit 5a7559a

File tree

6 files changed

+60
-8
lines changed

6 files changed

+60
-8
lines changed

demo/demo.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -923,6 +923,44 @@ function putObject() {
923923
});
924924
}
925925

926+
// 简单上传 文件boby为base64
927+
function putObject_base64ToBlob() {
928+
var base64Url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABRFBMVEUAAAAAo/8Ao/8Ao/8Ao/8ApP8Aov8Ao/8Abv8Abv8AyNwAyNwAo/8Ao/8Ao/8Abv8Ao/8AivgAo/8AyNwAbv8Abv8AydwApf8Abf8Ao/8AbP8Ao/8AyNwAydwAbv8AydwApP8Ao/8AyNwAo/8AyNwAydsAyNwAxd8Aov8AyNwAytsAo/8Abv8AyNwAbv8Av+MAo/8AytsAo/8Abv8AyNwAo/8Abv8AqfkAbv8Aov8Abv8AyNwAov8Abv8Ao/8Abv8Ao/8AydwAo/8Ao/8Ate8Ay9oAvOcAof8AveAAyNwAyNwAo/8AyNwAy9kAo/8AyNwAyNwAo/8AqP8Aaf8AyNwAbv0Abv8Abv8AaP8Ao/8Ao/8Ao/8Ao/8Abv8AyNwAgvcAaP8A0dkAo/8AyNwAav8Abv8Ao/8Abv8AyNwAy9sAvOUAtePdkYxjAAAAZnRSTlMAw/co8uAuJAn8+/Tt29R8DAX77+nZz87Jv6CTh3lxTklAPjouJRsL5tjAuLiyr62roaCakYp0XVtOQTMyLiohICAcGRP49vTv5+PJurawq6mnnJuYl4+OiIB7eXVvX15QSDgqHxNcw3l6AAABe0lEQVQ4y82P11oCQQxGIy5FUJpKk6aAhV6k92LvvXedDfj+92ZkYQHxnnMxu3/OfJMEJo6y++baXf5XVw22GVGcsRmq431mQZRYyIzRGgdXi+HwIv86NDBKisrRAtU1hSj9pkZ9jpo/9YKbRsmNNKCHDXI00BxfMMirKNpMcjQ5Lm4/YZArUXyBYUwg40nsdr5jb3LBe25VWpNeKa1GENsEnq52C80z1uW48estiKjb19G54QdCrScnKAU69U3KJ4jzrsBawDWPuOcBqMyRvlcb1Y+zjMUBVsivAKe4gXgEKiVjSh9wlunGMmwiOqFL3RI0cj+nkgp3jC1BELVFkGiZSuvkp3tZZWZ2sKCuDj185PXqfmwI7AAOUctHkJoOeXg3sxA4ES+l7CVvrYHMEmNp8GtR+wycPG0+1RrwWQUzl4CvgQmPP5Ddofl8tWkJVT7J+BIAaxEktrYZoRAUfXgOGYHfcOqw3WF/EdLccz5cMfvUCPb4QwUmhB8+v12HZPCkbgAAAABJRU5ErkJggg==';
929+
var dataURLtoBlob = function (dataurl) {
930+
var arr = dataurl.split(',');
931+
var mime = arr[0].match(/:(.*?);/)[1];
932+
var bstr = atob(arr[1]);
933+
var n = bstr.length;
934+
var u8arr = new Uint8Array(n);
935+
while (n--) {
936+
u8arr[n] = bstr.charCodeAt(n);
937+
}
938+
return new Blob([u8arr], { type: mime });
939+
};
940+
// 调用方法
941+
cos.putObject({
942+
Bucket: config.Bucket, // Bucket 格式:test-1250000000
943+
Region: config.Region,
944+
Key: 'base64_file.png', /* 必须 */
945+
Body: dataURLtoBlob(base64Url),
946+
onTaskReady: function (tid) {
947+
logger.log('onTaskReady', tid);
948+
},
949+
onTaskStart: function (info) {
950+
logger.log('onTaskStart', info);
951+
},
952+
onProgress: function (progressData) {
953+
logger.log(JSON.stringify(progressData));
954+
},
955+
Headers: {
956+
// 万象持久化接口,上传时持久化
957+
// 'Pic-Operations': '{"is_pic_info": 1, "rules": [{"fileid": "test.jpg", "rule": "imageMogr2/thumbnail/!50p"}]}'
958+
},
959+
}, function (err, data) {
960+
logger.log('putObject:', err || data);
961+
});
962+
}
963+
926964
function putObjectCopy() {
927965
cos.putObjectCopy({
928966
Bucket: config.Bucket, // Bucket 格式:test-1250000000
@@ -1647,6 +1685,7 @@ function CIExample4(){
16471685
'abortUploadTask',
16481686
'selectObjectContent',
16491687
'putObject',
1688+
'putObject_base64ToBlob',
16501689

16511690
'header-高级操作',
16521691
'sliceUploadFile',
@@ -1671,6 +1710,7 @@ function CIExample4(){
16711710
];
16721711
var labelMap = {
16731712
putObject: '简单上传',
1713+
putObject_base64ToBlob: '简单上传:base64转blob',
16741714
sliceUploadFile: '分片上传',
16751715
sliceCopyFile: '分片复制',
16761716
uploadFiles: '批量上传文件',

dist/cos-js-sdk-v5.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2422,7 +2422,7 @@ base.init(COS, task);
24222422
advance.init(COS, task);
24232423

24242424
COS.getAuthorization = util.getAuth;
2425-
COS.version = '1.2.10';
2425+
COS.version = '1.2.11';
24262426

24272427
module.exports = COS;
24282428

@@ -8589,12 +8589,18 @@ function sliceUploadFile(params, callback) {
85898589
// 上传过程中出现错误,返回错误
85908590
ep.on('error', function (err) {
85918591
if (!self._isRunningTask(TaskId)) return;
8592-
return callback(err);
8592+
var _err = util.extend({
8593+
UploadId: params.UploadData.uploadId || ''
8594+
}, err);
8595+
return callback(_err);
85938596
});
85948597

85958598
// 上传分块完成,开始 uploadSliceComplete 操作
85968599
ep.on('upload_complete', function (UploadCompleteData) {
8597-
callback(null, UploadCompleteData);
8600+
var _UploadCompleteData = util.extend({
8601+
UploadId: params.UploadData.UploadId || ''
8602+
}, UploadCompleteData);
8603+
callback(null, _UploadCompleteData);
85988604
});
85998605

86008606
// 上传分块完成,开始 uploadSliceComplete 操作

dist/cos-js-sdk-v5.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cos-js-sdk-v5",
3-
"version": "1.2.11",
3+
"version": "1.2.12",
44
"description": "JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)",
55
"main": "index.js",
66
"types": "index.d.ts",

src/advance.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,18 @@ function sliceUploadFile(params, callback) {
2424
// 上传过程中出现错误,返回错误
2525
ep.on('error', function (err) {
2626
if (!self._isRunningTask(TaskId)) return;
27-
return callback(err);
27+
var _err = util.extend({
28+
UploadId: params.UploadData.uploadId || ''
29+
}, err);
30+
return callback(_err);
2831
});
2932

3033
// 上传分块完成,开始 uploadSliceComplete 操作
3134
ep.on('upload_complete', function (UploadCompleteData) {
32-
callback(null, UploadCompleteData);
35+
var _UploadCompleteData = util.extend({
36+
UploadId: params.UploadData.UploadId || ''
37+
}, UploadCompleteData);
38+
callback(null, _UploadCompleteData);
3339
});
3440

3541
// 上传分块完成,开始 uploadSliceComplete 操作

src/cos.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,6 @@ base.init(COS, task);
6464
advance.init(COS, task);
6565

6666
COS.getAuthorization = util.getAuth;
67-
COS.version = '1.2.10';
67+
COS.version = '1.2.12';
6868

6969
module.exports = COS;

0 commit comments

Comments
 (0)