Skip to content

Commit d350297

Browse files
committed
Merge pull request #8 from qiniupd/7481_add_key_handler
detect up.getOption before using it
2 parents 587e725 + e4b35a6 commit d350297

File tree

2 files changed

+34
-16
lines changed

2 files changed

+34
-16
lines changed

demo/js/qiniu.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ function QiniuJsSDK() {
263263
// qiniu service max_chunk_size is 4m
264264
// reset chunk_size to max_chunk_size(4m) when chunk_size > 4m
265265
}
266-
}
266+
};
267267
reset_chunk_size();
268268

269269
var getUpToken = function() {
@@ -284,9 +284,12 @@ function QiniuJsSDK() {
284284
};
285285

286286
var getFileKey = function(up, file, func) {
287-
var key = '';
287+
var key = '',
288+
unique_names = false;
288289
if (!op.save_key) {
289-
if (up.getOption('unique_names')) {
290+
unique_names = up.getOption && up.getOption('unique_names');
291+
unique_names = unique_names || (up.settings && up.settings.unique_names);
292+
if (unique_names) {
290293
var ext = that.getFileExtension(file.name);
291294
key = ext ? file.id + '.' + ext : file.id;
292295
} else if (typeof func === 'function') {
@@ -313,7 +316,9 @@ function QiniuJsSDK() {
313316
uploader.init();
314317

315318
uploader.bind('FilesAdded', function(up, files) {
316-
if (up.getOption('auto_start')) {
319+
var auto_start = up.getOption && up.getOption('auto_start');
320+
auto_start = auto_start || (up.settings && up.settings.auto_start);
321+
if (auto_start) {
317322
$.each(files, function(i, file) {
318323
up.start();
319324
});
@@ -348,7 +353,8 @@ function QiniuJsSDK() {
348353
};
349354

350355

351-
var chunk_size = up.getOption('chunk_size');
356+
var chunk_size = up.getOption && up.getOption('chunk_size');
357+
chunk_size = chunk_size || (up.settings && up.settings.chunk_size);
352358

353359
if (uploader.runtime === 'html5' && chunk_size) {
354360
if (file.size < chunk_size) {
@@ -376,7 +382,8 @@ function QiniuJsSDK() {
376382

377383
ctx = ctx ? ctx + ',' + res.ctx : res.ctx;
378384
var leftSize = info.total - info.offset;
379-
var chunk_size = up.getOption('chunk_size');
385+
var chunk_size = up.getOption && up.getOption('chunk_size');
386+
chunk_size = chunk_size || (up.settings && up.settings.chunk_size);
380387
if (leftSize < chunk_size) {
381388
up.setOption({
382389
'url': 'http://up.qiniu.com/mkblk/' + leftSize
@@ -395,7 +402,9 @@ function QiniuJsSDK() {
395402
errTip = '上传失败。请稍后再试。';
396403
break;
397404
case plupload.FILE_SIZE_ERROR:
398-
errTip = '浏览器最大可上传' + up.getOption('max_file_size') + '。更大文件请使用命令行工具。';
405+
var max_file_size = up.getOption && up.getOption('max_file_size');
406+
max_file_size = max_file_size || (up.settings && up.settings.max_file_size);
407+
errTip = '浏览器最大可上传' + max_file_size + '。更大文件请使用命令行工具。';
399408
break;
400409
case plupload.FILE_EXTENSION_ERROR:
401410
errTip = '文件验证失败。请稍后重试。';
@@ -720,4 +729,4 @@ function QiniuJsSDK() {
720729

721730
}
722731

723-
var Qiniu = new QiniuJsSDK();
732+
var Qiniu = new QiniuJsSDK();

src/qiniu.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ function QiniuJsSDK() {
263263
// qiniu service max_chunk_size is 4m
264264
// reset chunk_size to max_chunk_size(4m) when chunk_size > 4m
265265
}
266-
}
266+
};
267267
reset_chunk_size();
268268

269269
var getUpToken = function() {
@@ -284,9 +284,12 @@ function QiniuJsSDK() {
284284
};
285285

286286
var getFileKey = function(up, file, func) {
287-
var key = '';
287+
var key = '',
288+
unique_names = false;
288289
if (!op.save_key) {
289-
if (up.getOption('unique_names')) {
290+
unique_names = up.getOption && up.getOption('unique_names');
291+
unique_names = unique_names || (up.settings && up.settings.unique_names);
292+
if (unique_names) {
290293
var ext = that.getFileExtension(file.name);
291294
key = ext ? file.id + '.' + ext : file.id;
292295
} else if (typeof func === 'function') {
@@ -313,7 +316,9 @@ function QiniuJsSDK() {
313316
uploader.init();
314317

315318
uploader.bind('FilesAdded', function(up, files) {
316-
if (up.getOption('auto_start')) {
319+
var auto_start = up.getOption && up.getOption('auto_start');
320+
auto_start = auto_start || (up.settings && up.settings.auto_start);
321+
if (auto_start) {
317322
$.each(files, function(i, file) {
318323
up.start();
319324
});
@@ -348,7 +353,8 @@ function QiniuJsSDK() {
348353
};
349354

350355

351-
var chunk_size = up.getOption('chunk_size');
356+
var chunk_size = up.getOption && up.getOption('chunk_size');
357+
chunk_size = chunk_size || (up.settings && up.settings.chunk_size);
352358

353359
if (uploader.runtime === 'html5' && chunk_size) {
354360
if (file.size < chunk_size) {
@@ -376,7 +382,8 @@ function QiniuJsSDK() {
376382

377383
ctx = ctx ? ctx + ',' + res.ctx : res.ctx;
378384
var leftSize = info.total - info.offset;
379-
var chunk_size = up.getOption('chunk_size');
385+
var chunk_size = up.getOption && up.getOption('chunk_size');
386+
chunk_size = chunk_size || (up.settings && up.settings.chunk_size);
380387
if (leftSize < chunk_size) {
381388
up.setOption({
382389
'url': 'http://up.qiniu.com/mkblk/' + leftSize
@@ -395,7 +402,9 @@ function QiniuJsSDK() {
395402
errTip = '上传失败。请稍后再试。';
396403
break;
397404
case plupload.FILE_SIZE_ERROR:
398-
errTip = '浏览器最大可上传' + up.getOption('max_file_size') + '。更大文件请使用命令行工具。';
405+
var max_file_size = up.getOption && up.getOption('max_file_size');
406+
max_file_size = max_file_size || (up.settings && up.settings.max_file_size);
407+
errTip = '浏览器最大可上传' + max_file_size + '。更大文件请使用命令行工具。';
399408
break;
400409
case plupload.FILE_EXTENSION_ERROR:
401410
errTip = '文件验证失败。请稍后重试。';
@@ -720,4 +729,4 @@ function QiniuJsSDK() {
720729

721730
}
722731

723-
var Qiniu = new QiniuJsSDK();
732+
var Qiniu = new QiniuJsSDK();

0 commit comments

Comments
 (0)