From 00890591babc0e70d9832721d00c5b7b496972c8 Mon Sep 17 00:00:00 2001 From: SunLn Date: Fri, 4 Apr 2014 17:48:30 +0800 Subject: [PATCH 1/2] use up.settings after up.getOption --- demo/js/qiniu.js | 19 ++++++++++++------- src/qiniu.js | 19 ++++++++++++------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/demo/js/qiniu.js b/demo/js/qiniu.js index 4d2f98b3..ec38b929 100644 --- a/demo/js/qiniu.js +++ b/demo/js/qiniu.js @@ -284,9 +284,11 @@ function QiniuJsSDK() { }; var getFileKey = function(up, file, func) { - var key = ''; + var key = '', + unique_names = false; if (!op.save_key) { - if (up.getOption('unique_names')) { + unique_names = up.getOption('unique_names') || (up.settings && up.settings.unique_names); + if (unique_names) { var ext = that.getFileExtension(file.name); key = ext ? file.id + '.' + ext : file.id; } else if (typeof func === 'function') { @@ -313,7 +315,8 @@ function QiniuJsSDK() { uploader.init(); uploader.bind('FilesAdded', function(up, files) { - if (up.getOption('auto_start')) { + var auto_start = up.getOption('auto_start') || (up.settings && up.settings.auto_start); + if (auto_start) { $.each(files, function(i, file) { up.start(); }); @@ -348,7 +351,7 @@ function QiniuJsSDK() { }; - var chunk_size = up.getOption('chunk_size'); + var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); if (uploader.runtime === 'html5' && chunk_size) { if (file.size < chunk_size) { @@ -376,7 +379,8 @@ function QiniuJsSDK() { ctx = ctx ? ctx + ',' + res.ctx : res.ctx; var leftSize = info.total - info.offset; - var chunk_size = up.getOption('chunk_size'); + var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); + if (leftSize < chunk_size) { up.setOption({ 'url': 'http://up.qiniu.com/mkblk/' + leftSize @@ -395,7 +399,8 @@ function QiniuJsSDK() { errTip = '上传失败。请稍后再试。'; break; case plupload.FILE_SIZE_ERROR: - errTip = '浏览器最大可上传' + up.getOption('max_file_size') + '。更大文件请使用命令行工具。'; + var max_file_size = up.getOption('max_file_size') || (up.settings && up.settings.max_file_size); + errTip = '浏览器最大可上传' + max_file_size + '。更大文件请使用命令行工具。'; break; case plupload.FILE_EXTENSION_ERROR: errTip = '文件验证失败。请稍后重试。'; @@ -720,4 +725,4 @@ function QiniuJsSDK() { } -var Qiniu = new QiniuJsSDK(); \ No newline at end of file +var Qiniu = new QiniuJsSDK(); diff --git a/src/qiniu.js b/src/qiniu.js index 4d2f98b3..ec38b929 100644 --- a/src/qiniu.js +++ b/src/qiniu.js @@ -284,9 +284,11 @@ function QiniuJsSDK() { }; var getFileKey = function(up, file, func) { - var key = ''; + var key = '', + unique_names = false; if (!op.save_key) { - if (up.getOption('unique_names')) { + unique_names = up.getOption('unique_names') || (up.settings && up.settings.unique_names); + if (unique_names) { var ext = that.getFileExtension(file.name); key = ext ? file.id + '.' + ext : file.id; } else if (typeof func === 'function') { @@ -313,7 +315,8 @@ function QiniuJsSDK() { uploader.init(); uploader.bind('FilesAdded', function(up, files) { - if (up.getOption('auto_start')) { + var auto_start = up.getOption('auto_start') || (up.settings && up.settings.auto_start); + if (auto_start) { $.each(files, function(i, file) { up.start(); }); @@ -348,7 +351,7 @@ function QiniuJsSDK() { }; - var chunk_size = up.getOption('chunk_size'); + var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); if (uploader.runtime === 'html5' && chunk_size) { if (file.size < chunk_size) { @@ -376,7 +379,8 @@ function QiniuJsSDK() { ctx = ctx ? ctx + ',' + res.ctx : res.ctx; var leftSize = info.total - info.offset; - var chunk_size = up.getOption('chunk_size'); + var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); + if (leftSize < chunk_size) { up.setOption({ 'url': 'http://up.qiniu.com/mkblk/' + leftSize @@ -395,7 +399,8 @@ function QiniuJsSDK() { errTip = '上传失败。请稍后再试。'; break; case plupload.FILE_SIZE_ERROR: - errTip = '浏览器最大可上传' + up.getOption('max_file_size') + '。更大文件请使用命令行工具。'; + var max_file_size = up.getOption('max_file_size') || (up.settings && up.settings.max_file_size); + errTip = '浏览器最大可上传' + max_file_size + '。更大文件请使用命令行工具。'; break; case plupload.FILE_EXTENSION_ERROR: errTip = '文件验证失败。请稍后重试。'; @@ -720,4 +725,4 @@ function QiniuJsSDK() { } -var Qiniu = new QiniuJsSDK(); \ No newline at end of file +var Qiniu = new QiniuJsSDK(); From e4b35a604e7ca344f63d36f5d4200c360c0043d8 Mon Sep 17 00:00:00 2001 From: SunLn Date: Fri, 4 Apr 2014 17:57:27 +0800 Subject: [PATCH 2/2] before using up.getOption ,detect if is exits --- demo/js/qiniu.js | 18 +++++++++++------- src/qiniu.js | 18 +++++++++++------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/demo/js/qiniu.js b/demo/js/qiniu.js index ec38b929..0b9fb4d8 100644 --- a/demo/js/qiniu.js +++ b/demo/js/qiniu.js @@ -263,7 +263,7 @@ function QiniuJsSDK() { // qiniu service max_chunk_size is 4m // reset chunk_size to max_chunk_size(4m) when chunk_size > 4m } - } + }; reset_chunk_size(); var getUpToken = function() { @@ -287,7 +287,8 @@ function QiniuJsSDK() { var key = '', unique_names = false; if (!op.save_key) { - unique_names = up.getOption('unique_names') || (up.settings && up.settings.unique_names); + unique_names = up.getOption && up.getOption('unique_names'); + unique_names = unique_names || (up.settings && up.settings.unique_names); if (unique_names) { var ext = that.getFileExtension(file.name); key = ext ? file.id + '.' + ext : file.id; @@ -315,7 +316,8 @@ function QiniuJsSDK() { uploader.init(); uploader.bind('FilesAdded', function(up, files) { - var auto_start = up.getOption('auto_start') || (up.settings && up.settings.auto_start); + var auto_start = up.getOption && up.getOption('auto_start'); + auto_start = auto_start || (up.settings && up.settings.auto_start); if (auto_start) { $.each(files, function(i, file) { up.start(); @@ -351,7 +353,8 @@ function QiniuJsSDK() { }; - var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); + var chunk_size = up.getOption && up.getOption('chunk_size'); + chunk_size = chunk_size || (up.settings && up.settings.chunk_size); if (uploader.runtime === 'html5' && chunk_size) { if (file.size < chunk_size) { @@ -379,8 +382,8 @@ function QiniuJsSDK() { ctx = ctx ? ctx + ',' + res.ctx : res.ctx; var leftSize = info.total - info.offset; - var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); - + var chunk_size = up.getOption && up.getOption('chunk_size'); + chunk_size = chunk_size || (up.settings && up.settings.chunk_size); if (leftSize < chunk_size) { up.setOption({ 'url': 'http://up.qiniu.com/mkblk/' + leftSize @@ -399,7 +402,8 @@ function QiniuJsSDK() { errTip = '上传失败。请稍后再试。'; break; case plupload.FILE_SIZE_ERROR: - var max_file_size = up.getOption('max_file_size') || (up.settings && up.settings.max_file_size); + var max_file_size = up.getOption && up.getOption('max_file_size'); + max_file_size = max_file_size || (up.settings && up.settings.max_file_size); errTip = '浏览器最大可上传' + max_file_size + '。更大文件请使用命令行工具。'; break; case plupload.FILE_EXTENSION_ERROR: diff --git a/src/qiniu.js b/src/qiniu.js index ec38b929..0b9fb4d8 100644 --- a/src/qiniu.js +++ b/src/qiniu.js @@ -263,7 +263,7 @@ function QiniuJsSDK() { // qiniu service max_chunk_size is 4m // reset chunk_size to max_chunk_size(4m) when chunk_size > 4m } - } + }; reset_chunk_size(); var getUpToken = function() { @@ -287,7 +287,8 @@ function QiniuJsSDK() { var key = '', unique_names = false; if (!op.save_key) { - unique_names = up.getOption('unique_names') || (up.settings && up.settings.unique_names); + unique_names = up.getOption && up.getOption('unique_names'); + unique_names = unique_names || (up.settings && up.settings.unique_names); if (unique_names) { var ext = that.getFileExtension(file.name); key = ext ? file.id + '.' + ext : file.id; @@ -315,7 +316,8 @@ function QiniuJsSDK() { uploader.init(); uploader.bind('FilesAdded', function(up, files) { - var auto_start = up.getOption('auto_start') || (up.settings && up.settings.auto_start); + var auto_start = up.getOption && up.getOption('auto_start'); + auto_start = auto_start || (up.settings && up.settings.auto_start); if (auto_start) { $.each(files, function(i, file) { up.start(); @@ -351,7 +353,8 @@ function QiniuJsSDK() { }; - var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); + var chunk_size = up.getOption && up.getOption('chunk_size'); + chunk_size = chunk_size || (up.settings && up.settings.chunk_size); if (uploader.runtime === 'html5' && chunk_size) { if (file.size < chunk_size) { @@ -379,8 +382,8 @@ function QiniuJsSDK() { ctx = ctx ? ctx + ',' + res.ctx : res.ctx; var leftSize = info.total - info.offset; - var chunk_size = up.getOption('chunk_size') || (up.settings && up.settings.chunk_size); - + var chunk_size = up.getOption && up.getOption('chunk_size'); + chunk_size = chunk_size || (up.settings && up.settings.chunk_size); if (leftSize < chunk_size) { up.setOption({ 'url': 'http://up.qiniu.com/mkblk/' + leftSize @@ -399,7 +402,8 @@ function QiniuJsSDK() { errTip = '上传失败。请稍后再试。'; break; case plupload.FILE_SIZE_ERROR: - var max_file_size = up.getOption('max_file_size') || (up.settings && up.settings.max_file_size); + var max_file_size = up.getOption && up.getOption('max_file_size'); + max_file_size = max_file_size || (up.settings && up.settings.max_file_size); errTip = '浏览器最大可上传' + max_file_size + '。更大文件请使用命令行工具。'; break; case plupload.FILE_EXTENSION_ERROR: