Skip to content

Commit

Permalink
sliceUploadFile 触发 onProgress
Browse files Browse the repository at this point in the history
  • Loading branch information
carsonxu committed Aug 1, 2018
1 parent f22eb49 commit e373ab7
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 18 deletions.
25 changes: 20 additions & 5 deletions dist/cos-js-sdk-v5.js
Original file line number Diff line number Diff line change
Expand Up @@ -1917,7 +1917,7 @@ util.extend(COS.prototype, base);
util.extend(COS.prototype, advance);

COS.getAuthorization = util.getAuth;
COS.version = '0.4.11';
COS.version = '0.4.12';

module.exports = COS;

Expand Down Expand Up @@ -10370,11 +10370,19 @@ function sliceUploadFile(params, callback) {
}
params.ChunkSize = params.SliceSize = ChunkSize = Math.max(ChunkSize, AutoChunkSize);
})();
onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);

// 开始上传
if (FileSize === 0) {
params.Body = '';
self.putObject(params, callback);
self.putObject(params, function (err, data) {
if (err) {
onProgress(null, true);
return callback(err);
}
onProgress({ loaded: FileSize, total: FileSize }, true);
callback(null, data);
});
} else {
ep.emit('get_file_size_finish');
}
Expand Down Expand Up @@ -11279,8 +11287,6 @@ function sliceCopyFile(params, callback) {
params.PartList = list;
})();

onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);

self.multipartInit({
Bucket: Bucket,
Region: Region,
Expand Down Expand Up @@ -11315,9 +11321,18 @@ function sliceCopyFile(params, callback) {
return;
}

onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);

// 开始上传
if (FileSize <= CopySliceSize) {
self.putObjectCopy(params, callback);
self.putObjectCopy(params, function (err, data) {
if (err) {
onProgress(null, true);
return callback(err);
}
onProgress({ loaded: FileSize, total: FileSize }, true);
callback(err, data);
});
} else {
ep.emit('get_file_size_finish');
}
Expand Down
2 changes: 1 addition & 1 deletion dist/cos-js-sdk-v5.min.js

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
{
"name": "cos-js-sdk-v5",
"version": "0.4.11",
"version": "0.4.12",
"description": "cos js sdk v5",
"main": "index.js",
"scripts": {
"dev": "SET NODE_ENV=development&& webpack -w",
"build": "SET NODE_ENV=production&& webpack",
"auth.js": "node server/auth.js",
"sts.js": "node server/sts.js",
"sts-post-object.js": "node server/sts-post-object.js"
"sts-auth.js": "node server/sts-auth.js"
},
"repository": {
"type": "git",
Expand Down
27 changes: 21 additions & 6 deletions src/advance.js
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,19 @@ function sliceUploadFile(params, callback) {
}
params.ChunkSize = params.SliceSize = ChunkSize = Math.max(ChunkSize, AutoChunkSize);
})();
onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);

// 开始上传
if (FileSize === 0) {
params.Body = '';
self.putObject(params, callback);
self.putObject(params, function (err, data) {
if (err) {
onProgress(null, true);
return callback(err);
}
onProgress({loaded: FileSize, total: FileSize}, true);
callback(null, data);
});
} else {
ep.emit('get_file_size_finish');
}
Expand Down Expand Up @@ -970,13 +978,13 @@ function sliceCopyFile(params, callback) {
Key: Key,
UploadId: UploadData.UploadId,
Parts: UploadData.PartList,
},function (err,data) {
},function (err, data) {
if (err) {
onProgress(null, true);
return callback(err);
}
onProgress({loaded: FileSize, total: FileSize}, true);
callback(null,data);
callback(null, data);
});
});

Expand Down Expand Up @@ -1048,8 +1056,6 @@ function sliceCopyFile(params, callback) {
params.PartList = list;
})();

onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);

self.multipartInit({
Bucket: Bucket,
Region: Region,
Expand Down Expand Up @@ -1084,9 +1090,18 @@ function sliceCopyFile(params, callback) {
return;
}

onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);

// 开始上传
if (FileSize <= CopySliceSize) {
self.putObjectCopy(params, callback);
self.putObjectCopy(params, function (err, data) {
if (err) {
onProgress(null, true);
return callback(err);
}
onProgress({loaded: FileSize, total: FileSize}, true);
callback(err, data);
});
} else {
ep.emit('get_file_size_finish');
}
Expand Down
2 changes: 1 addition & 1 deletion src/cos.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,6 @@ util.extend(COS.prototype, base);
util.extend(COS.prototype, advance);

COS.getAuthorization = util.getAuth;
COS.version = '0.4.11';
COS.version = '0.4.12';

module.exports = COS;
4 changes: 2 additions & 2 deletions test/test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var config = {
Bucket: 'test-1251902136',
Bucket: 'test-1250000000',
Region: 'ap-guangzhou'
};

Expand Down Expand Up @@ -388,7 +388,7 @@ it('abortUploadTask(),Level=file', function (assert) {
Key: filename,
}, function (err, data) {
assert.ok(data.successList.length >= 1, '成功舍弃单个文件下的所有分片任务');
assert.ok(data.successList[0].Key === filename, '成功舍弃单个文件的所有分片任务');
assert.ok(data.successList[0] && data.successList[0].Key === filename, '成功舍弃单个文件的所有分片任务');
done();
});
}
Expand Down

0 comments on commit e373ab7

Please sign in to comment.