Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
install : all
all : install build demo

all :
install :
npm install
bower install

build :
grunt
node demo/server.js

demo :
node demo/server.js
86 changes: 51 additions & 35 deletions dist/qiniu.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*!
* qiniu-js-sdk v1.0.13-beta
* qiniu-js-sdk v1.0.14-beta
*
* Copyright 2015 by Qiniu
* Released under GPL V2 License.
*
* GitHub: http://github.com/qiniu/js-sdk
*
* Date: 2016-1-26
* Date: 2016-3-22
*/

/*global plupload ,mOxie*/
Expand Down Expand Up @@ -115,6 +115,13 @@ function QiniuJsSDK() {
args.unshift(header);
console.log.apply(console, args);
}
if (document.getElementById('qiniu-js-sdk-log')) {
var msg1 = header;
for (var j = 0; j < args.length; j++) {
msg1+=that.stringifyJSON(args[j]);
}
document.getElementById('qiniu-js-sdk-log').innerHTML += '<p>'+msg1+'</p>';
}
}

function makeLogFunc(code){
Expand Down Expand Up @@ -182,21 +189,8 @@ function QiniuJsSDK() {
* @return {Boolean} file is a image or not
*/
this.isImage = function(url) {
var res, suffix = "";
var imageSuffixes = ["png", "jpg", "jpeg", "gif", "bmp"];
var suffixMatch = /\.([a-zA-Z0-9]+)(\?|\@|$)/;

if (!url || !suffixMatch.test(url)) {
return false;
}
res = suffixMatch.exec(url);
suffix = res[1].toLowerCase();
for (var i = 0, l = imageSuffixes.length; i < l; i++) {
if (suffix === imageSuffixes[i]) {
return true;
}
}
return false;
url = url.split(/[?#]/)[0];
return (/\.(png|jpg|jpeg|gif|bmp)$/i).test(url);
};

/**
Expand Down Expand Up @@ -520,25 +514,43 @@ function QiniuJsSDK() {
// if op.chunk_size set 0 will be cause to direct upload
};

// if op.uptoken has no value
// get token from 'uptoken_url'
// else
// set token to be op.uptoken
var getUpToken = function() {
if (!op.uptoken) {
// getUptoken maybe called at Init Event or BeforeUpload Event
// case Init Event, the file param of getUptken will be set null value
// if op.uptoken has value, set uptoken with op.uptoken
// else if op.uptoken_url has value, set uptoken from op.uptoken_url
// else if op.uptoken_func has value, set uptoken by result of op.uptoken_func
var getUpToken = function(file) {
if (op.uptoken) {
that.token = op.uptoken;
return;
} else if (op.uptoken_url) {
logger.debug("get uptoken from: ", that.uptoken_url);
// TODO: use mOxie
var ajax = that.createAjax();
ajax.open('GET', that.uptoken_url, true);
ajax.open('GET', that.uptoken_url, false);
ajax.setRequestHeader("If-Modified-Since", "0");
ajax.onreadystatechange = function() {
if (ajax.readyState === 4 && ajax.status === 200) {
var res = that.parseJSON(ajax.responseText);
that.token = res.uptoken;
}
};
// ajax.onreadystatechange = function() {
// if (ajax.readyState === 4 && ajax.status === 200) {
// var res = that.parseJSON(ajax.responseText);
// that.token = res.uptoken;
// }
// };
ajax.send();
if (ajax.status === 200) {
var res = that.parseJSON(ajax.responseText);
that.token = res.uptoken;
logger.debug("get new uptoken: ", res.uptoken);
} else {
logger.error("get uptoken error: ", ajax.responseText);
}
return;
} else if (op.uptoken_func) {
logger.debug("get uptoken from uptoken_func");
that.token = op.uptoken_func(file);
logger.debug("get new uptoken: ", that.token);
return;
} else {
that.token = op.uptoken;
logger.error("one of [uptoken, uptoken_url, uptoken_func] settings in options is required!");
}
};

Expand Down Expand Up @@ -576,6 +588,10 @@ function QiniuJsSDK() {
throw 'browse_button setting in options is required!';
}

if (!op.uptoken && !op.uptoken_url && !op.uptoken_func) {
throw 'one of [uptoken, uptoken_url, uptoken_func] settings in options is required!';
}

logger.debug("init uploader start");

logger.debug("environment: ", mOxie.Env);
Expand Down Expand Up @@ -630,12 +646,12 @@ function QiniuJsSDK() {
logger.debug("Init event activated");
// if op.get_new_uptoken is not true
// invoke getUptoken when uploader init
// else
// else
// getUptoken everytime before a new file upload
if(!op.get_new_uptoken){
getUpToken();
getUpToken(null);
}
getUpToken();
//getUpToken(null);
});

logger.debug("bind Init event");
Expand Down Expand Up @@ -678,7 +694,7 @@ function QiniuJsSDK() {
ctx = '';

if(op.get_new_uptoken){
getUpToken();
getUpToken(file);
}

var directUpload = function(up, file, func) {
Expand Down
Loading