|
|
@ -183,7 +183,7 @@ function QiniuJsSDK() {
|
|
|
|
"https://up.qbox.me"
|
|
|
|
"https://up.qbox.me"
|
|
|
|
]
|
|
|
|
]
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}else if(uploadConfig.saveType == "local" || uploadConfig.saveType == "oss" ||uploadConfig.saveType == "upyun"||uploadConfig.saveType == "s3"){
|
|
|
|
}else if(uploadConfig.saveType == "local" || uploadConfig.saveType == "oss" ||uploadConfig.saveType == "upyun"||uploadConfig.saveType == "s3"|| uploadConfig.saveType == "remote"){
|
|
|
|
qiniuUploadUrl = uploadConfig.upUrl;
|
|
|
|
qiniuUploadUrl = uploadConfig.upUrl;
|
|
|
|
var qiniuUploadUrls = [uploadConfig.upUrl,];
|
|
|
|
var qiniuUploadUrls = [uploadConfig.upUrl,];
|
|
|
|
var qiniuUpHosts = {
|
|
|
|
var qiniuUpHosts = {
|
|
|
@ -618,7 +618,7 @@ function QiniuJsSDK() {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
var getPutPolicy = function (uptoken) {
|
|
|
|
var getPutPolicy = function (uptoken) {
|
|
|
|
if(uploadConfig.saveType =="oss" || uploadConfig.saveType =="upyun"||uploadConfig.saveType =="s3"){
|
|
|
|
if(uploadConfig.saveType =="oss" || uploadConfig.saveType =="upyun"||uploadConfig.saveType =="s3"||uploadConfig.saveType =="remote"){
|
|
|
|
return "oss";
|
|
|
|
return "oss";
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
var segments = uptoken.split(":");
|
|
|
|
var segments = uptoken.split(":");
|
|
|
@ -692,6 +692,9 @@ function QiniuJsSDK() {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
var getUptoken = function(file) {
|
|
|
|
var getUptoken = function(file) {
|
|
|
|
|
|
|
|
if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
return that.token;
|
|
|
|
|
|
|
|
}
|
|
|
|
if (!that.token || (op.uptoken_url && that.tokenInfo.isExpired())) {
|
|
|
|
if (!that.token || (op.uptoken_url && that.tokenInfo.isExpired())) {
|
|
|
|
return getNewUpToken(file);
|
|
|
|
return getNewUpToken(file);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -742,6 +745,9 @@ function QiniuJsSDK() {
|
|
|
|
var putPolicy = that.token;
|
|
|
|
var putPolicy = that.token;
|
|
|
|
that.token = res.token;
|
|
|
|
that.token = res.token;
|
|
|
|
that.policy = res.policy;
|
|
|
|
that.policy = res.policy;
|
|
|
|
|
|
|
|
}else if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
var putPolicy = that.token;
|
|
|
|
|
|
|
|
that.policy = res.uptoken;
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
var segments = that.token.split(":");
|
|
|
|
var segments = that.token.split(":");
|
|
|
|
var putPolicy = that.parseJSON(that.URLSafeBase64Decode(segments[2]));
|
|
|
|
var putPolicy = that.parseJSON(that.URLSafeBase64Decode(segments[2]));
|
|
|
@ -992,6 +998,12 @@ function QiniuJsSDK() {
|
|
|
|
multipart_params_obj = {
|
|
|
|
multipart_params_obj = {
|
|
|
|
'path': file.path
|
|
|
|
'path': file.path
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
}else if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
multipart_params_obj = {
|
|
|
|
|
|
|
|
'path': file.path,
|
|
|
|
|
|
|
|
"token" :that.policy,
|
|
|
|
|
|
|
|
"MAX_FILE_SIZE":4194304,
|
|
|
|
|
|
|
|
};
|
|
|
|
}else if(uploadConfig.saveType == "oss"){
|
|
|
|
}else if(uploadConfig.saveType == "oss"){
|
|
|
|
multipart_params_obj = {
|
|
|
|
multipart_params_obj = {
|
|
|
|
'policy': that.token,
|
|
|
|
'policy': that.token,
|
|
|
@ -1134,6 +1146,18 @@ function QiniuJsSDK() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// TODO: to support bput
|
|
|
|
// TODO: to support bput
|
|
|
|
// http://developer.qiniu.com/docs/v6/api/reference/up/bput.html
|
|
|
|
// http://developer.qiniu.com/docs/v6/api/reference/up/bput.html
|
|
|
|
|
|
|
|
if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
up.setOption({
|
|
|
|
|
|
|
|
'url': qiniuUploadUrl + 'chunk.php',
|
|
|
|
|
|
|
|
'multipart': false,
|
|
|
|
|
|
|
|
'chunk_size': chunk_size,
|
|
|
|
|
|
|
|
'required_features': "chunks",
|
|
|
|
|
|
|
|
'headers': {
|
|
|
|
|
|
|
|
'Authorization': getUptoken(file)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
'multipart_params': multipart_params_obj
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}else{
|
|
|
|
up.setOption({
|
|
|
|
up.setOption({
|
|
|
|
'url': qiniuUploadUrl + '/mkblk/' + blockSize,
|
|
|
|
'url': qiniuUploadUrl + '/mkblk/' + blockSize,
|
|
|
|
'multipart': false,
|
|
|
|
'multipart': false,
|
|
|
@ -1145,6 +1169,7 @@ function QiniuJsSDK() {
|
|
|
|
'multipart_params': multipart_params_obj
|
|
|
|
'multipart_params': multipart_params_obj
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
logger.debug("directUpload because uploader.runtime !== 'html5' || uploader.runtime !== 'flash' || !chunk_size");
|
|
|
|
logger.debug("directUpload because uploader.runtime !== 'html5' || uploader.runtime !== 'flash' || !chunk_size");
|
|
|
|
// direct upload if runtime is not html5
|
|
|
|
// direct upload if runtime is not html5
|
|
|
@ -1186,13 +1211,26 @@ function QiniuJsSDK() {
|
|
|
|
up.setOption({
|
|
|
|
up.setOption({
|
|
|
|
'url': qiniuUploadUrl + '/mkblk/' + leftSize
|
|
|
|
'url': qiniuUploadUrl + '/mkblk/' + leftSize
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
up.setOption({
|
|
|
|
|
|
|
|
'url': qiniuUploadUrl + 'chunk.php'
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
logger.debug("up.setOption url: ", qiniuUploadUrl + '/mkblk/' + leftSize);
|
|
|
|
logger.debug("up.setOption url: ", qiniuUploadUrl + '/mkblk/' + leftSize);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
up.setOption({
|
|
|
|
|
|
|
|
'headers': {
|
|
|
|
|
|
|
|
'Authorization': getUptoken(file)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}else{
|
|
|
|
up.setOption({
|
|
|
|
up.setOption({
|
|
|
|
'headers': {
|
|
|
|
'headers': {
|
|
|
|
'Authorization': 'UpToken ' + getUptoken(file)
|
|
|
|
'Authorization': 'UpToken ' + getUptoken(file)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
localStorage.setItem(file.name, that.stringifyJSON({
|
|
|
|
localStorage.setItem(file.name, that.stringifyJSON({
|
|
|
|
ctx: ctx,
|
|
|
|
ctx: ctx,
|
|
|
|
percent: file.percent,
|
|
|
|
percent: file.percent,
|
|
|
@ -1423,7 +1461,16 @@ function QiniuJsSDK() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var fname = '/fname/' + that.URLSafeBase64Encode(file.name);
|
|
|
|
var fname = '/fname/' + that.URLSafeBase64Encode(file.name);
|
|
|
|
|
|
|
|
if(uploadConfig.saveType=="remote"){
|
|
|
|
|
|
|
|
if (!op.save_key) {
|
|
|
|
|
|
|
|
key = getFileKey(up, file, that.key_handler);
|
|
|
|
|
|
|
|
key = key ? that.URLSafeBase64Encode(key) : '';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
fname = '' + that.URLSafeBase64Encode(file.name);
|
|
|
|
|
|
|
|
op.x_vars= {
|
|
|
|
|
|
|
|
'path': file.path,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
logger.debug("op.x_vars: ", op.x_vars);
|
|
|
|
logger.debug("op.x_vars: ", op.x_vars);
|
|
|
|
if(uploadConfig.saveType == "qiniu"){
|
|
|
|
if(uploadConfig.saveType == "qiniu"){
|
|
|
|
op.x_vars= {
|
|
|
|
op.x_vars= {
|
|
|
@ -1453,8 +1500,11 @@ function QiniuJsSDK() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
local_path = '/path/'+that.URLSafeBase64Encode(pathTmp);
|
|
|
|
local_path = '/path/'+that.URLSafeBase64Encode(pathTmp);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
var url = qiniuUploadUrl + 'mkfile.php?size=' + file.size +"&key="+ key+"&fname="+ fname +"&path="+local_path;
|
|
|
|
|
|
|
|
}else{
|
|
|
|
var url = qiniuUploadUrl + '/mkfile/' + file.size + key + fname + x_vars_url+local_path;
|
|
|
|
var url = qiniuUploadUrl + '/mkfile/' + file.size + key + fname + x_vars_url+local_path;
|
|
|
|
|
|
|
|
}
|
|
|
|
var ie = that.detectIEVersion();
|
|
|
|
var ie = that.detectIEVersion();
|
|
|
|
var ajax;
|
|
|
|
var ajax;
|
|
|
|
if (ie && ie <= 9) {
|
|
|
|
if (ie && ie <= 9) {
|
|
|
@ -1465,7 +1515,11 @@ function QiniuJsSDK() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ajax.open('POST', url, true);
|
|
|
|
ajax.open('POST', url, true);
|
|
|
|
ajax.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8');
|
|
|
|
ajax.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8');
|
|
|
|
|
|
|
|
if(uploadConfig.saveType == "remote"){
|
|
|
|
|
|
|
|
ajax.setRequestHeader('Authorization',that.token);
|
|
|
|
|
|
|
|
}else{
|
|
|
|
ajax.setRequestHeader('Authorization', 'UpToken ' + that.token);
|
|
|
|
ajax.setRequestHeader('Authorization', 'UpToken ' + that.token);
|
|
|
|
|
|
|
|
}
|
|
|
|
var onreadystatechange = function(){
|
|
|
|
var onreadystatechange = function(){
|
|
|
|
logger.debug("ajax.readyState: ", ajax.readyState);
|
|
|
|
logger.debug("ajax.readyState: ", ajax.readyState);
|
|
|
|
if (ajax.readyState === 4) {
|
|
|
|
if (ajax.readyState === 4) {
|
|
|
|