var Bucket = 'test-1250000000'; var Region = 'ap-guangzhou'; var cos = new COS({ FileParallelLimit: 5, ChunkParallelLimit: 5, ChunkMbSize: 8 * 1024 * 1024, getAuthorization: function (options, callback) { var url = '/sts'; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onload = function (e) { try { var data = JSON.parse(e.target.responseText); } catch (e) { } callback({ TmpSecretId: data.credentials && data.credentials.tmpSecretId, TmpSecretKey: data.credentials && data.credentials.tmpSecretKey, SecurityToken: data.credentials && data.credentials.sessionToken, ExpiredTime: data.expiredTime }); }; xhr.send(); } }); new Vue({ el: '#app', data: function () { return { FileParallelLimit: 5, ChunkParallelLimit: 16, ChunkMbSize: 2, list: [], total: 0, }; }, created: function () { var self = this; cos.on('list-update', function (data) { self.list = data.list; self.total = data.list.length; }); }, methods: { formatSize: function (size) { var i, unit = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']; for (i = 0; i < unit.length && size >= 1024; i++) { size /= 1024; } return (Math.round(size * 100) / 100 || 0) + unit[i]; }, selectedFile: function (e) { var files = e.target.files; var list = [].map.call(files, function (f) { return { Bucket: Bucket, Region: Region, Key: f.name, Body: f, }; }); cos.uploadFiles({files: list}); document.getElementById('form').reset(); }, pauseTask: function (task) { cos.pauseTask(task.id); }, restartTask: function (task) { cos.restartTask(task.id); }, cancelTask: function (task) { cos.cancelTask(task.id); }, }, });