From 08c49628dec0586683aaa11cf29b84537a4d2a01 Mon Sep 17 00:00:00 2001 From: codedogfish Date: Tue, 12 Jul 2016 08:03:44 +0800 Subject: [PATCH] fix IE 9- not support application/json --- dist/qiniu.js | 36 ++++++++++++++++++++++++++++++------ dist/qiniu.min.js | 4 ++-- dist/qiniu.min.map | 2 +- package.json | 2 +- src/qiniu.js | 32 ++++++++++++++++++++++++++++---- 5 files changed, 62 insertions(+), 14 deletions(-) diff --git a/dist/qiniu.js b/dist/qiniu.js index 06f45422..b30ff644 100644 --- a/dist/qiniu.js +++ b/dist/qiniu.js @@ -1,12 +1,12 @@ /*! - * qiniu-js-sdk v1.0.16-beta + * qiniu-js-sdk v1.0.16.1-beta * * Copyright 2015 by Qiniu * Released under GPL V2 License. * * GitHub: http://github.com/qiniu/js-sdk * - * Date: 2016-5-31 + * Date: 2016-7-12 */ /*global plupload ,mOxie*/ @@ -626,13 +626,22 @@ function QiniuJsSDK() { logger.debug("invoke reset_chunk_size()"); logger.debug("op.chunk_size: ", op.chunk_size); - // compose options with user passed options and default setting - plupload.extend(option, op, { + var defaultSetting = { url: qiniuUploadUrl, multipart_params: { token: '' } - }); + }; + var ie = that.detectIEVersion(); + // case IE 9- + // add accept in multipart params + if (ie && ie <= 9) { + defaultSetting.multipart_params.accept = 'text/plain; charset=utf-8'; + logger.debug("add accept text/plain in multipart params"); + } + + // compose options with user passed options and default setting + plupload.extend(option, op, defaultSetting); logger.debug("option: ", option); @@ -729,6 +738,13 @@ function QiniuJsSDK() { 'token': that.token }; } + var ie = that.detectIEVersion(); + // case IE 9- + // add accept in multipart params + if (ie && ie <= 9) { + multipart_params_obj.accept = 'text/plain; charset=utf-8'; + logger.debug("add accept text/plain in multipart params"); + } logger.debug("directUpload multipart_params_obj: ", multipart_params_obj); @@ -827,6 +843,14 @@ function QiniuJsSDK() { } } speedCalInfo.startTime = new Date().getTime(); + var multipart_params_obj = {}; + var ie = that.detectIEVersion(); + // case IE 9- + // add accept in multipart params + if (ie && ie <= 9) { + multipart_params_obj.accept = 'text/plain; charset=utf-8'; + logger.debug("add accept text/plain in multipart params"); + } // TODO: to support bput // http://developer.qiniu.com/docs/v6/api/reference/up/bput.html up.setOption({ @@ -837,7 +861,7 @@ function QiniuJsSDK() { 'headers': { 'Authorization': 'UpToken ' + that.token }, - 'multipart_params': {} + 'multipart_params': multipart_params_obj }); } } else { diff --git a/dist/qiniu.min.js b/dist/qiniu.min.js index 256652ba..3bb75051 100644 --- a/dist/qiniu.min.js +++ b/dist/qiniu.min.js @@ -1,3 +1,3 @@ -/*! qiniu-js v1.0.16-beta | Copyright 2015 by Qiniu */ -!function(global){function createCookie(a,b,c){var d=new Date;d.setTime(d.getTime()+24*c*60*60*1e3);var e="; expires="+d.toGMTString();document.cookie=a+"="+b+e+"; path=/"}function readCookie(a){var b=a+"=";var c=document.cookie.split(";");for(var d=0,e=c.length;e>d;d++){var f=c[d];while(" "===f.charAt(0))f=f.substring(1,f.length);if(0===f.indexOf(b))return f.substring(b.length,f.length)}return null}window.localStorage||(window.localStorage={setItem:function(a,b){createCookie(a,b,30)},getItem:function(a){return readCookie(a)},removeItem:function(a){createCookie(a,"",-1)}});function QiniuJsSDK(){var that=this;this.detectIEVersion=function(){var a=4,b=document.createElement("div"),c=b.getElementsByTagName("i");while(b.innerHTML="",c[0])a++;return a>4?a:!1};var logger={MUTE:0,FATA:1,ERROR:2,WARN:3,INFO:4,DEBUG:5,TRACE:6,level:0};function log(a,b){var c="[qiniu-js-sdk]["+a+"]";var d=c;for(var e=0;e")}function makeLogFunc(a){var b=a.toLowerCase();logger[b]=function(){if(window.console&&window.console.log&&logger.level>=logger[a]){var c=Array.prototype.slice.call(arguments);log(b,c)}}}for(var property in logger)logger.hasOwnProperty(property)&&"number"==typeof logger[property]&&!logger.hasOwnProperty(property.toLowerCase())&&makeLogFunc(property);var qiniuUploadUrl;qiniuUploadUrl="https:"===window.location.protocol?"https://up.qbox.me":"http://upload.qiniu.com";var qiniuUploadUrls=["http://upload.qiniu.com","http://up.qiniu.com"];var changeUrlTimes=0;this.resetUploadUrl=function(){if("https:"===window.location.protocol)qiniuUploadUrl="https://up.qbox.me";else{var a=changeUrlTimes%qiniuUploadUrls.length;qiniuUploadUrl=qiniuUploadUrls[a],changeUrlTimes++}logger.debug("resetUploadUrl: "+qiniuUploadUrl)},this.resetUploadUrl(),this.isImage=function(a){return a=a.split(/[?#]/)[0],/\.(png|jpg|jpeg|gif|bmp)$/i.test(a)},this.getFileExtension=function(a){var b=a.split(".");var c;return c=1===b.length||""===b[0]&&2===b.length?"":b.pop().toLowerCase()},this.utf8_encode=function(a){if(null===a||"undefined"==typeof a)return"";var b=a+"";var c="",d,e,f=0;d=e=0,f=b.length;for(var g=0;f>g;g++){var h=b.charCodeAt(g);var i=null;if(128>h)e++;else if(h>127&&2048>h)i=String.fromCharCode(h>>6|192,63&h|128);else if(63488&h^!0)i=String.fromCharCode(h>>12|224,h>>6&63|128,63&h|128);else{if(64512&h^!0)throw new RangeError("Unmatched trail surrogate at "+g);var j=b.charCodeAt(++g);if(64512&j^!0)throw new RangeError("Unmatched lead surrogate at "+(g-1));h=((1023&h)<<10)+(1023&j)+65536,i=String.fromCharCode(h>>18|240,h>>12&63|128,h>>6&63|128,63&h|128)}null!==i&&(e>d&&(c+=b.slice(d,e)),c+=i,d=e=g+1)}return e>d&&(c+=b.slice(d,f)),c},this.base64_encode=function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var c,d,e,f,g,h,i,j,k=0,l=0,m="",n=[];if(!a)return a;a=this.utf8_encode(a+"");do c=a.charCodeAt(k++),d=a.charCodeAt(k++),e=a.charCodeAt(k++),j=c<<16|d<<8|e,f=j>>18&63,g=j>>12&63,h=j>>6&63,i=63&j,n[l++]=b.charAt(f)+b.charAt(g)+b.charAt(h)+b.charAt(i);while(kd;d++)b.push(that.stringifyJSON(a[d]));return"["+b.join(",")+"]"}if(null===a)return"null";var e=[];for(var f in a)a.hasOwnProperty(f)&&e.push(that.stringifyJSON(f)+":"+that.stringifyJSON(a[f]));return"{"+e.join(",")+"}";case"number":return a;case!1:return a;case"boolean":return a}},this.trim=function(a){return null===a?"":a.replace(/^\s+|\s+$/g,"")},this.uploader=function(a){var b=function(){var b=that.detectIEVersion();var c,d,e;var f="Safari"===mOxie.Env.browser&&mOxie.Env.version<=5&&"Windows"===mOxie.Env.os&&"7"===mOxie.Env.osVersion||"Safari"===mOxie.Env.browser&&"iOS"===mOxie.Env.os&&"7"===mOxie.Env.osVersion;b&&9>b&&a.chunk_size&&a.runtimes.indexOf("flash")>=0?a.chunk_size=0:f?a.chunk_size=0:(c=20,d=4<d&&(a.chunk_size=d))};var c=function(b){if(a.uptoken)return void(that.token=a.uptoken);{if(!a.uptoken_url)return a.uptoken_func?(logger.debug("get uptoken from uptoken_func"),that.token=a.uptoken_func(b),void logger.debug("get new uptoken: ",that.token)):void logger.error("one of [uptoken, uptoken_url, uptoken_func] settings in options is required!");logger.debug("get uptoken from: ",that.uptoken_url);var c=that.createAjax();if(c.open("GET",that.uptoken_url,!1),c.setRequestHeader("If-Modified-Since","0"),c.send(),200===c.status){var d=that.parseJSON(c.responseText);that.token=d.uptoken,logger.debug("get new uptoken: ",d.uptoken)}else logger.error("get uptoken error: ",c.responseText)}};var d=function(b,c,d){var e="",f=!1;if(!a.save_key)if(f=b.getOption&&b.getOption("unique_names"),f=f||b.settings&&b.settings.unique_names){var g=that.getFileExtension(c.name);e=g?c.id+"."+g:c.id}else e="function"==typeof d?d(b,c):c.name;return e};if(a.log_level&&(logger.level=a.log_level),!a.domain)throw"domain setting in options is required!";if(!a.browse_button)throw"browse_button setting in options is required!";if(!a.uptoken&&!a.uptoken_url&&!a.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),logger.debug("userAgent: ",navigator.userAgent);var e={};var f=a.init&&a.init.Error;var g=a.init&&a.init.FileUploaded;a.init.Error=function(){},a.init.FileUploaded=function(){},that.uptoken_url=a.uptoken_url,that.token="",that.key_handler="function"==typeof a.init.Key?a.init.Key:"",this.domain=a.domain;var h="";var i={isResumeUpload:!1,resumeFilesize:0,startTime:"",currentTime:""};b(),logger.debug("invoke reset_chunk_size()"),logger.debug("op.chunk_size: ",a.chunk_size),plupload.extend(e,a,{url:qiniuUploadUrl,multipart_params:{token:""}}),logger.debug("option: ",e);var j=new plupload.Uploader(e);logger.debug("new plupload.Uploader(option)"),j.bind("Init",function(b,d){logger.debug("Init event activated"),a.get_new_uptoken||c(null)}),logger.debug("bind Init event"),j.bind("FilesAdded",function(a,b){logger.debug("FilesAdded event activated");var c=a.getOption&&a.getOption("auto_start");c=c||a.settings&&a.settings.auto_start,logger.debug("auto_start: ",c),logger.debug("files: ",b);var d=function(){return"ios"===mOxie.Env.OS.toLowerCase()?!0:!1};if(d())for(var e=0;en-o&&100!==l.percent&&e.size===l.total?(e.percent=l.percent,e.loaded=l.offset,h=l.ctx,i.isResumeUpload=!0,i.resumeFilesize=l.offset,l.offset+m>e.size&&(m=e.size-l.offset)):localStorage.removeItem(e.name)}i.startTime=(new Date).getTime(),b.setOption({url:qiniuUploadUrl+"/mkblk/"+m,multipart:!1,chunk_size:k,required_features:"chunks",headers:{Authorization:"UpToken "+that.token},multipart_params:{}})}}),logger.debug("bind BeforeUpload event"),j.bind("UploadProgress",function(a,b){logger.trace("UploadProgress event activated"),i.currentTime=(new Date).getTime();var c=i.currentTime-i.startTime;var d=b.loaded||0;i.isResumeUpload&&(d=b.loaded-i.resumeFilesize),b.speed=(d/c*1e3).toFixed(0)||0}),logger.debug("bind UploadProgress event"),j.bind("ChunkUploaded",function(a,b,c){logger.debug("ChunkUploaded event activated"),logger.debug("file: ",b),logger.debug("info: ",c);var d=that.parseJSON(c.response);logger.debug("res: ",d),h=h?h+","+d.ctx:d.ctx;var e=c.total-c.offset;var f=a.getOption&&a.getOption("chunk_size");f=f||a.settings&&a.settings.chunk_size,f>e&&(a.setOption({url:qiniuUploadUrl+"/mkblk/"+e}),logger.debug("up.setOption url: ",qiniuUploadUrl+"/mkblk/"+e)),localStorage.setItem(b.name,that.stringifyJSON({ctx:h,percent:b.percent,total:c.total,offset:c.offset,time:(new Date).getTime()}))}),logger.debug("bind ChunkUploaded event");var k=qiniuUploadUrls.length;var l=function(a){return k-->0?(setTimeout(function(){that.resetUploadUrl(),a.status=plupload.QUEUED,j.stop(),j.start()},0),!0):(k=qiniuUploadUrls.length,!1)};return j.bind("Error",function(a){return function(b,c){logger.error("Error event activated"),logger.error("err: ",c);var d="";var e=c.file;if(e){switch(c.code){case plupload.FAILED:d="\u4e0a\u4f20\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002";break;case plupload.FILE_SIZE_ERROR:var f=b.getOption&&b.getOption("max_file_size");f=f||b.settings&&b.settings.max_file_size,d="\u6d4f\u89c8\u5668\u6700\u5927\u53ef\u4e0a\u4f20"+f+"\u3002\u66f4\u5927\u6587\u4ef6\u8bf7\u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\u3002";break;case plupload.FILE_EXTENSION_ERROR:d="\u6587\u4ef6\u9a8c\u8bc1\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002";break;case plupload.HTTP_ERROR:if(""===c.response){if(d=c.message||"\u672a\u77e5\u7f51\u7edc\u9519\u8bef\u3002",!l(e))return;break}var g=that.parseJSON(c.response);var h=g.error;switch(c.status){case 400:d="\u8bf7\u6c42\u62a5\u6587\u683c\u5f0f\u9519\u8bef\u3002";break;case 401:d="\u5ba2\u6237\u7aef\u8ba4\u8bc1\u6388\u6743\u5931\u8d25\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002";break;case 405:d="\u5ba2\u6237\u7aef\u8bf7\u6c42\u9519\u8bef\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002";break;case 579:d="\u8d44\u6e90\u4e0a\u4f20\u6210\u529f\uff0c\u4f46\u56de\u8c03\u5931\u8d25\u3002";break;case 599:if(d="\u7f51\u7edc\u8fde\u63a5\u5f02\u5e38\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002",!l(e))return;break;case 614:d="\u6587\u4ef6\u5df2\u5b58\u5728\u3002";try{g=that.parseJSON(g.error),h=g.error||"file exists"}catch(i){h=g.error||"file exists"}break;case 631:d="\u6307\u5b9a\u7a7a\u95f4\u4e0d\u5b58\u5728\u3002";break;case 701:d="\u4e0a\u4f20\u6570\u636e\u5757\u6821\u9a8c\u51fa\u9519\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002";break;default:if(d="\u672a\u77e5\u9519\u8bef\u3002",!l(e))return}d=d+"("+c.status+"\uff1a"+h+")";break;case plupload.SECURITY_ERROR:d="\u5b89\u5168\u914d\u7f6e\u9519\u8bef\u3002\u8bf7\u8054\u7cfb\u7f51\u7ad9\u7ba1\u7406\u5458\u3002";break;case plupload.GENERIC_ERROR:d="\u4e0a\u4f20\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002";break;case plupload.IO_ERROR:d="\u4e0a\u4f20\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002";break;case plupload.INIT_ERROR:d="\u7f51\u7ad9\u914d\u7f6e\u9519\u8bef\u3002\u8bf7\u8054\u7cfb\u7f51\u7ad9\u7ba1\u7406\u5458\u3002",j.destroy();break;default:if(d=c.message+c.details,!l(e))return}a&&a(b,c,d)}b.refresh()}}(f)),logger.debug("bind Error event"),j.bind("FileUploaded",function(b){return function(c,e,f){logger.debug("FileUploaded event activated"),logger.debug("file: ",e),logger.debug("info: ",f);var g=function(c,d,e){if(a.downtoken_url){var f=that.createAjax();f.open("POST",a.downtoken_url,!0),f.setRequestHeader("Content-type","application/x-www-form-urlencoded"),f.onreadystatechange=function(){if(4===f.readyState)if(200===f.status){var a;try{a=that.parseJSON(f.responseText)}catch(g){throw"invalid json format"}var h={};plupload.extend(h,that.parseJSON(e),a),b&&b(c,d,that.stringifyJSON(h))}else j.trigger("Error",{status:f.status,response:f.responseText,file:d,code:plupload.HTTP_ERROR})},f.send("key="+that.parseJSON(e).key+"&domain="+a.domain)}else b&&b(c,d,e)};var i=that.parseJSON(f.response);if(h=h?h:i.ctx,logger.debug("ctx: ",h),h){var k="";logger.debug("save_key: ",a.save_key),a.save_key||(k=d(c,e,that.key_handler),k=k?"/key/"+that.URLSafeBase64Encode(k):"");var l="/fname/"+that.URLSafeBase64Encode(e.name);logger.debug("op.x_vars: ",a.x_vars);var m=a.x_vars,n="",o="";if(void 0!==m&&"object"==typeof m)for(var p in m)m.hasOwnProperty(p)&&("function"==typeof m[p]?n=that.URLSafeBase64Encode(m[p](c,e)):"object"!=typeof m[p]&&(n=that.URLSafeBase64Encode(m[p])),o+="/x:"+p+"/"+n);var q=qiniuUploadUrl+"/mkfile/"+e.size+k+l+o;var r=that.detectIEVersion();var s;r&&9>=r?(s=new mOxie.XMLHttpRequest,mOxie.Env.swf_url=a.flash_swf_url):s=that.createAjax(),s.open("POST",q,!0),s.setRequestHeader("Content-Type","text/plain;charset=UTF-8"),s.setRequestHeader("Authorization","UpToken "+that.token);var t=function(){if(logger.debug("ajax.readyState: ",s.readyState),4===s.readyState){localStorage.removeItem(e.name);var a;200===s.status?(a=s.responseText,logger.debug("mkfile is success: ",a),g(c,e,a)):(a={status:s.status,response:s.responseText,file:e,code:-200},logger.debug("mkfile is error: ",a),j.trigger("Error",a))}};r&&9>=r?s.bind("readystatechange",t):s.onreadystatechange=t,s.send(h),logger.debug("mkfile: ",q)}else g(c,e,f.response)}}(g)),logger.debug("bind FileUploaded event"),j.init(),logger.debug("invoke uploader.init()"),logger.debug("init uploader end"),j},this.getUrl=function(a){if(!a)return!1;a=encodeURI(a);var b=this.domain;return"/"!==b.slice(b.length-1)&&(b+="/"),b+a},this.imageView2=function(a,b){var c=a.mode||"",d=a.w||"",e=a.h||"",f=a.q||"",g=a.format||"";if(!c)return!1;if(!d&&!e)return!1;var h="imageView2/"+c;return h+=d?"/w/"+d:"",h+=e?"/h/"+e:"",h+=f?"/q/"+f:"",h+=g?"/format/"+g:"",b&&(h=this.getUrl(b)+"?"+h),h},this.imageMogr2=function(a,b){var c=a["auto-orient"]||"",d=a.thumbnail||"",e=a.strip||"",f=a.gravity||"",g=a.crop||"",h=a.quality||"",i=a.rotate||"",j=a.format||"",k=a.blur||"";var l="imageMogr2";return l+=c?"/auto-orient":"",l+=d?"/thumbnail/"+d:"",l+=e?"/strip":"",l+=f?"/gravity/"+f:"",l+=h?"/quality/"+h:"",l+=g?"/crop/"+g:"",l+=i?"/rotate/"+i:"",l+=j?"/format/"+j:"",l+=k?"/blur/"+k:"",b&&(l=this.getUrl(b)+"?"+l),l},this.watermark=function(a,b){var c=a.mode;if(!c)return!1;var d="watermark/"+c;if(1===c){var e=a.image||"";if(!e)return!1;d+=e?"/image/"+this.URLSafeBase64Encode(e):""}else{if(2!==c)return!1;var f=a.text?a.text:"",g=a.font?a.font:"",h=a.fontsize?a.fontsize:"",i=a.fill?a.fill:"";if(!f)return!1;d+=f?"/text/"+this.URLSafeBase64Encode(f):"",d+=g?"/font/"+this.URLSafeBase64Encode(g):"",d+=h?"/fontsize/"+h:"",d+=i?"/fill/"+this.URLSafeBase64Encode(i):""}var j=a.dissolve||"",k=a.gravity||"",l=a.dx||"",m=a.dy||"";return d+=j?"/dissolve/"+j:"",d+=k?"/gravity/"+k:"",d+=l?"/dx/"+l:"",d+=m?"/dy/"+m:"",b&&(d=this.getUrl(b)+"?"+d),d},this.imageInfo=function(a){if(!a)return!1;var b=this.getUrl(a)+"?imageInfo";var c=this.createAjax();var d;var e=this;return c.open("GET",b,!1),c.onreadystatechange=function(){4===c.readyState&&200===c.status&&(d=e.parseJSON(c.responseText))},c.send(),d},this.exif=function(a){if(!a)return!1;var b=this.getUrl(a)+"?exif";var c=this.createAjax();var d;var e=this;return c.open("GET",b,!1),c.onreadystatechange=function(){4===c.readyState&&200===c.status&&(d=e.parseJSON(c.responseText))},c.send(),d},this.get=function(a,b){return b&&a?"exif"===a?this.exif(b):"imageInfo"===a?this.imageInfo(b):!1:!1},this.pipeline=function(a,b){var c="[object Array]"===Object.prototype.toString.call(a);var d,e,f="";if(c){for(var g=0,h=a.length;h>g;g++){if(d=a[g],!d.fop)return!1;switch(d.fop){case"watermark":f+=this.watermark(d)+"|";break;case"imageView2":f+=this.imageView2(d)+"|";break;case"imageMogr2":f+=this.imageMogr2(d)+"|";break;default:e=!0}if(e)return!1}if(b){f=this.getUrl(b)+"?"+f;var i=f.length;"|"===f.slice(i-1)&&(f=f.slice(0,i-1))}return f}return!1}}var Qiniu=new QiniuJsSDK;global.Qiniu=Qiniu,global.QiniuJsSDK=QiniuJsSDK}(window); +/*! qiniu-js v1.0.16.1-beta | Copyright 2015 by Qiniu */ +!function(global){function createCookie(a,b,c){var d=new Date;d.setTime(d.getTime()+24*c*60*60*1e3);var e="; expires="+d.toGMTString();document.cookie=a+"="+b+e+"; path=/"}function readCookie(a){var b=a+"=";var c=document.cookie.split(";");for(var d=0,e=c.length;e>d;d++){var f=c[d];while(" "===f.charAt(0))f=f.substring(1,f.length);if(0===f.indexOf(b))return f.substring(b.length,f.length)}return null}window.localStorage||(window.localStorage={setItem:function(a,b){createCookie(a,b,30)},getItem:function(a){return readCookie(a)},removeItem:function(a){createCookie(a,"",-1)}});function QiniuJsSDK(){var that=this;this.detectIEVersion=function(){var a=4,b=document.createElement("div"),c=b.getElementsByTagName("i");while(b.innerHTML="",c[0])a++;return a>4?a:!1};var logger={MUTE:0,FATA:1,ERROR:2,WARN:3,INFO:4,DEBUG:5,TRACE:6,level:0};function log(a,b){var c="[qiniu-js-sdk]["+a+"]";var d=c;for(var e=0;e")}function makeLogFunc(a){var b=a.toLowerCase();logger[b]=function(){if(window.console&&window.console.log&&logger.level>=logger[a]){var c=Array.prototype.slice.call(arguments);log(b,c)}}}for(var property in logger)logger.hasOwnProperty(property)&&"number"==typeof logger[property]&&!logger.hasOwnProperty(property.toLowerCase())&&makeLogFunc(property);var qiniuUploadUrl;qiniuUploadUrl="https:"===window.location.protocol?"https://up.qbox.me":"http://upload.qiniu.com";var qiniuUploadUrls=["http://upload.qiniu.com","http://up.qiniu.com"];var changeUrlTimes=0;this.resetUploadUrl=function(){if("https:"===window.location.protocol)qiniuUploadUrl="https://up.qbox.me";else{var a=changeUrlTimes%qiniuUploadUrls.length;qiniuUploadUrl=qiniuUploadUrls[a],changeUrlTimes++}logger.debug("resetUploadUrl: "+qiniuUploadUrl)},this.resetUploadUrl(),this.isImage=function(a){return a=a.split(/[?#]/)[0],/\.(png|jpg|jpeg|gif|bmp)$/i.test(a)},this.getFileExtension=function(a){var b=a.split(".");var c;return c=1===b.length||""===b[0]&&2===b.length?"":b.pop().toLowerCase()},this.utf8_encode=function(a){if(null===a||"undefined"==typeof a)return"";var b=a+"";var c="",d,e,f=0;d=e=0,f=b.length;for(var g=0;f>g;g++){var h=b.charCodeAt(g);var i=null;if(128>h)e++;else if(h>127&&2048>h)i=String.fromCharCode(h>>6|192,63&h|128);else if(63488&h^!0)i=String.fromCharCode(h>>12|224,h>>6&63|128,63&h|128);else{if(64512&h^!0)throw new RangeError("Unmatched trail surrogate at "+g);var j=b.charCodeAt(++g);if(64512&j^!0)throw new RangeError("Unmatched lead surrogate at "+(g-1));h=((1023&h)<<10)+(1023&j)+65536,i=String.fromCharCode(h>>18|240,h>>12&63|128,h>>6&63|128,63&h|128)}null!==i&&(e>d&&(c+=b.slice(d,e)),c+=i,d=e=g+1)}return e>d&&(c+=b.slice(d,f)),c},this.base64_encode=function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var c,d,e,f,g,h,i,j,k=0,l=0,m="",n=[];if(!a)return a;a=this.utf8_encode(a+"");do c=a.charCodeAt(k++),d=a.charCodeAt(k++),e=a.charCodeAt(k++),j=c<<16|d<<8|e,f=j>>18&63,g=j>>12&63,h=j>>6&63,i=63&j,n[l++]=b.charAt(f)+b.charAt(g)+b.charAt(h)+b.charAt(i);while(kd;d++)b.push(that.stringifyJSON(a[d]));return"["+b.join(",")+"]"}if(null===a)return"null";var e=[];for(var f in a)a.hasOwnProperty(f)&&e.push(that.stringifyJSON(f)+":"+that.stringifyJSON(a[f]));return"{"+e.join(",")+"}";case"number":return a;case!1:return a;case"boolean":return a}},this.trim=function(a){return null===a?"":a.replace(/^\s+|\s+$/g,"")},this.uploader=function(a){var b=function(){var b=that.detectIEVersion();var c,d,e;var f="Safari"===mOxie.Env.browser&&mOxie.Env.version<=5&&"Windows"===mOxie.Env.os&&"7"===mOxie.Env.osVersion||"Safari"===mOxie.Env.browser&&"iOS"===mOxie.Env.os&&"7"===mOxie.Env.osVersion;b&&9>b&&a.chunk_size&&a.runtimes.indexOf("flash")>=0?a.chunk_size=0:f?a.chunk_size=0:(c=20,d=4<d&&(a.chunk_size=d))};var c=function(b){if(a.uptoken)return void(that.token=a.uptoken);{if(!a.uptoken_url)return a.uptoken_func?(logger.debug("get uptoken from uptoken_func"),that.token=a.uptoken_func(b),void logger.debug("get new uptoken: ",that.token)):void logger.error("one of [uptoken, uptoken_url, uptoken_func] settings in options is required!");logger.debug("get uptoken from: ",that.uptoken_url);var c=that.createAjax();if(c.open("GET",that.uptoken_url,!1),c.setRequestHeader("If-Modified-Since","0"),c.send(),200===c.status){var d=that.parseJSON(c.responseText);that.token=d.uptoken,logger.debug("get new uptoken: ",d.uptoken)}else logger.error("get uptoken error: ",c.responseText)}};var d=function(b,c,d){var e="",f=!1;if(!a.save_key)if(f=b.getOption&&b.getOption("unique_names"),f=f||b.settings&&b.settings.unique_names){var g=that.getFileExtension(c.name);e=g?c.id+"."+g:c.id}else e="function"==typeof d?d(b,c):c.name;return e};if(a.log_level&&(logger.level=a.log_level),!a.domain)throw"domain setting in options is required!";if(!a.browse_button)throw"browse_button setting in options is required!";if(!a.uptoken&&!a.uptoken_url&&!a.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),logger.debug("userAgent: ",navigator.userAgent);var e={};var f=a.init&&a.init.Error;var g=a.init&&a.init.FileUploaded;a.init.Error=function(){},a.init.FileUploaded=function(){},that.uptoken_url=a.uptoken_url,that.token="",that.key_handler="function"==typeof a.init.Key?a.init.Key:"",this.domain=a.domain;var h="";var i={isResumeUpload:!1,resumeFilesize:0,startTime:"",currentTime:""};b(),logger.debug("invoke reset_chunk_size()"),logger.debug("op.chunk_size: ",a.chunk_size);var j={url:qiniuUploadUrl,multipart_params:{token:""}};var k=that.detectIEVersion();k&&9>=k&&(j.multipart_params.accept="text/plain; charset=utf-8",logger.debug("add accept text/plain in multipart params")),plupload.extend(e,a,j),logger.debug("option: ",e);var l=new plupload.Uploader(e);logger.debug("new plupload.Uploader(option)"),l.bind("Init",function(b,d){logger.debug("Init event activated"),a.get_new_uptoken||c(null)}),logger.debug("bind Init event"),l.bind("FilesAdded",function(a,b){logger.debug("FilesAdded event activated");var c=a.getOption&&a.getOption("auto_start");c=c||a.settings&&a.settings.auto_start,logger.debug("auto_start: ",c),logger.debug("files: ",b);var d=function(){return"ios"===mOxie.Env.OS.toLowerCase()?!0:!1};if(d())for(var e=0;e=h&&(f.accept="text/plain; charset=utf-8",logger.debug("add accept text/plain in multipart params")),logger.debug("directUpload multipart_params_obj: ",f);var j=a.x_vars;if(void 0!==j&&"object"==typeof j)for(var k in j)j.hasOwnProperty(k)&&("function"==typeof j[k]?f["x:"+k]=j[k](b,c):"object"!=typeof j[k]&&(f["x:"+k]=j[k]));b.setOption({url:qiniuUploadUrl,multipart:!0,chunk_size:g()?a.max_file_size:void 0,multipart_params:f})};var g=function(){var a=navigator.userAgent.toLowerCase();return(a.match(/MicroMessenger/i)||"QQBrowser"===mOxie.Env.browser||a.match(/V1_AND_SQ/i))&&"android"===mOxie.Env.OS.toLowerCase()?!0:!1};var j=b.getOption&&b.getOption("chunk_size");if(j=j||b.settings&&b.settings.chunk_size,logger.debug("uploader.runtime: ",l.runtime),logger.debug("chunk_size: ",j),"html5"!==l.runtime&&"flash"!==l.runtime||!j)logger.debug("directUpload because uploader.runtime !== 'html5' || uploader.runtime !== 'flash' || !chunk_size"),f(b,e,that.key_handler);else if(e.sizen-o&&100!==k.percent&&e.size===k.total?(e.percent=k.percent,e.loaded=k.offset,h=k.ctx,i.isResumeUpload=!0,i.resumeFilesize=k.offset,k.offset+m>e.size&&(m=e.size-k.offset)):localStorage.removeItem(e.name)}i.startTime=(new Date).getTime();var q={};var r=that.detectIEVersion();r&&9>=r&&(q.accept="text/plain; charset=utf-8",logger.debug("add accept text/plain in multipart params")),b.setOption({url:qiniuUploadUrl+"/mkblk/"+m,multipart:!1,chunk_size:j,required_features:"chunks",headers:{Authorization:"UpToken "+that.token},multipart_params:q})}}),logger.debug("bind BeforeUpload event"),l.bind("UploadProgress",function(a,b){logger.trace("UploadProgress event activated"),i.currentTime=(new Date).getTime();var c=i.currentTime-i.startTime;var d=b.loaded||0;i.isResumeUpload&&(d=b.loaded-i.resumeFilesize),b.speed=(d/c*1e3).toFixed(0)||0}),logger.debug("bind UploadProgress event"),l.bind("ChunkUploaded",function(a,b,c){logger.debug("ChunkUploaded event activated"),logger.debug("file: ",b),logger.debug("info: ",c);var d=that.parseJSON(c.response);logger.debug("res: ",d),h=h?h+","+d.ctx:d.ctx;var e=c.total-c.offset;var f=a.getOption&&a.getOption("chunk_size");f=f||a.settings&&a.settings.chunk_size,f>e&&(a.setOption({url:qiniuUploadUrl+"/mkblk/"+e}),logger.debug("up.setOption url: ",qiniuUploadUrl+"/mkblk/"+e)),localStorage.setItem(b.name,that.stringifyJSON({ctx:h,percent:b.percent,total:c.total,offset:c.offset,time:(new Date).getTime()}))}),logger.debug("bind ChunkUploaded event");var m=qiniuUploadUrls.length;var n=function(a){return m-->0?(setTimeout(function(){that.resetUploadUrl(),a.status=plupload.QUEUED,l.stop(),l.start()},0),!0):(m=qiniuUploadUrls.length,!1)};return l.bind("Error",function(a){return function(b,c){logger.error("Error event activated"),logger.error("err: ",c);var d="";var e=c.file;if(e){switch(c.code){case plupload.FAILED:d="\u4e0a\u4f20\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002";break;case plupload.FILE_SIZE_ERROR:var f=b.getOption&&b.getOption("max_file_size");f=f||b.settings&&b.settings.max_file_size,d="\u6d4f\u89c8\u5668\u6700\u5927\u53ef\u4e0a\u4f20"+f+"\u3002\u66f4\u5927\u6587\u4ef6\u8bf7\u4f7f\u7528\u547d\u4ee4\u884c\u5de5\u5177\u3002";break;case plupload.FILE_EXTENSION_ERROR:d="\u6587\u4ef6\u9a8c\u8bc1\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002";break;case plupload.HTTP_ERROR:if(""===c.response){if(d=c.message||"\u672a\u77e5\u7f51\u7edc\u9519\u8bef\u3002",!n(e))return;break}var g=that.parseJSON(c.response);var h=g.error;switch(c.status){case 400:d="\u8bf7\u6c42\u62a5\u6587\u683c\u5f0f\u9519\u8bef\u3002";break;case 401:d="\u5ba2\u6237\u7aef\u8ba4\u8bc1\u6388\u6743\u5931\u8d25\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002";break;case 405:d="\u5ba2\u6237\u7aef\u8bf7\u6c42\u9519\u8bef\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002";break;case 579:d="\u8d44\u6e90\u4e0a\u4f20\u6210\u529f\uff0c\u4f46\u56de\u8c03\u5931\u8d25\u3002";break;case 599:if(d="\u7f51\u7edc\u8fde\u63a5\u5f02\u5e38\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002",!n(e))return;break;case 614:d="\u6587\u4ef6\u5df2\u5b58\u5728\u3002";try{g=that.parseJSON(g.error),h=g.error||"file exists"}catch(i){h=g.error||"file exists"}break;case 631:d="\u6307\u5b9a\u7a7a\u95f4\u4e0d\u5b58\u5728\u3002";break;case 701:d="\u4e0a\u4f20\u6570\u636e\u5757\u6821\u9a8c\u51fa\u9519\u3002\u8bf7\u91cd\u8bd5\u6216\u63d0\u4ea4\u53cd\u9988\u3002";break;default:if(d="\u672a\u77e5\u9519\u8bef\u3002",!n(e))return}d=d+"("+c.status+"\uff1a"+h+")";break;case plupload.SECURITY_ERROR:d="\u5b89\u5168\u914d\u7f6e\u9519\u8bef\u3002\u8bf7\u8054\u7cfb\u7f51\u7ad9\u7ba1\u7406\u5458\u3002";break;case plupload.GENERIC_ERROR:d="\u4e0a\u4f20\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002";break;case plupload.IO_ERROR:d="\u4e0a\u4f20\u5931\u8d25\u3002\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002";break;case plupload.INIT_ERROR:d="\u7f51\u7ad9\u914d\u7f6e\u9519\u8bef\u3002\u8bf7\u8054\u7cfb\u7f51\u7ad9\u7ba1\u7406\u5458\u3002",l.destroy();break;default:if(d=c.message+c.details,!n(e))return}a&&a(b,c,d)}b.refresh()}}(f)),logger.debug("bind Error event"),l.bind("FileUploaded",function(b){return function(c,e,f){logger.debug("FileUploaded event activated"),logger.debug("file: ",e),logger.debug("info: ",f);var g=function(c,d,e){if(a.downtoken_url){var f=that.createAjax();f.open("POST",a.downtoken_url,!0),f.setRequestHeader("Content-type","application/x-www-form-urlencoded"),f.onreadystatechange=function(){if(4===f.readyState)if(200===f.status){var a;try{a=that.parseJSON(f.responseText)}catch(g){throw"invalid json format"}var h={};plupload.extend(h,that.parseJSON(e),a),b&&b(c,d,that.stringifyJSON(h))}else l.trigger("Error",{status:f.status,response:f.responseText,file:d,code:plupload.HTTP_ERROR})},f.send("key="+that.parseJSON(e).key+"&domain="+a.domain)}else b&&b(c,d,e)};var i=that.parseJSON(f.response);if(h=h?h:i.ctx,logger.debug("ctx: ",h),h){var j="";logger.debug("save_key: ",a.save_key),a.save_key||(j=d(c,e,that.key_handler),j=j?"/key/"+that.URLSafeBase64Encode(j):"");var k="/fname/"+that.URLSafeBase64Encode(e.name);logger.debug("op.x_vars: ",a.x_vars);var m=a.x_vars,n="",o="";if(void 0!==m&&"object"==typeof m)for(var p in m)m.hasOwnProperty(p)&&("function"==typeof m[p]?n=that.URLSafeBase64Encode(m[p](c,e)):"object"!=typeof m[p]&&(n=that.URLSafeBase64Encode(m[p])),o+="/x:"+p+"/"+n);var q=qiniuUploadUrl+"/mkfile/"+e.size+j+k+o;var r=that.detectIEVersion();var s;r&&9>=r?(s=new mOxie.XMLHttpRequest,mOxie.Env.swf_url=a.flash_swf_url):s=that.createAjax(),s.open("POST",q,!0),s.setRequestHeader("Content-Type","text/plain;charset=UTF-8"),s.setRequestHeader("Authorization","UpToken "+that.token);var t=function(){if(logger.debug("ajax.readyState: ",s.readyState),4===s.readyState){localStorage.removeItem(e.name);var a;200===s.status?(a=s.responseText,logger.debug("mkfile is success: ",a),g(c,e,a)):(a={status:s.status,response:s.responseText,file:e,code:-200},logger.debug("mkfile is error: ",a),l.trigger("Error",a))}};r&&9>=r?s.bind("readystatechange",t):s.onreadystatechange=t,s.send(h),logger.debug("mkfile: ",q)}else g(c,e,f.response)}}(g)),logger.debug("bind FileUploaded event"),l.init(),logger.debug("invoke uploader.init()"),logger.debug("init uploader end"),l},this.getUrl=function(a){if(!a)return!1;a=encodeURI(a);var b=this.domain;return"/"!==b.slice(b.length-1)&&(b+="/"),b+a},this.imageView2=function(a,b){var c=a.mode||"",d=a.w||"",e=a.h||"",f=a.q||"",g=a.format||"";if(!c)return!1;if(!d&&!e)return!1;var h="imageView2/"+c;return h+=d?"/w/"+d:"",h+=e?"/h/"+e:"",h+=f?"/q/"+f:"",h+=g?"/format/"+g:"",b&&(h=this.getUrl(b)+"?"+h),h},this.imageMogr2=function(a,b){var c=a["auto-orient"]||"",d=a.thumbnail||"",e=a.strip||"",f=a.gravity||"",g=a.crop||"",h=a.quality||"",i=a.rotate||"",j=a.format||"",k=a.blur||"";var l="imageMogr2";return l+=c?"/auto-orient":"",l+=d?"/thumbnail/"+d:"",l+=e?"/strip":"",l+=f?"/gravity/"+f:"",l+=h?"/quality/"+h:"",l+=g?"/crop/"+g:"",l+=i?"/rotate/"+i:"",l+=j?"/format/"+j:"",l+=k?"/blur/"+k:"",b&&(l=this.getUrl(b)+"?"+l),l},this.watermark=function(a,b){var c=a.mode;if(!c)return!1;var d="watermark/"+c;if(1===c){var e=a.image||"";if(!e)return!1;d+=e?"/image/"+this.URLSafeBase64Encode(e):""}else{if(2!==c)return!1;var f=a.text?a.text:"",g=a.font?a.font:"",h=a.fontsize?a.fontsize:"",i=a.fill?a.fill:"";if(!f)return!1;d+=f?"/text/"+this.URLSafeBase64Encode(f):"",d+=g?"/font/"+this.URLSafeBase64Encode(g):"",d+=h?"/fontsize/"+h:"",d+=i?"/fill/"+this.URLSafeBase64Encode(i):""}var j=a.dissolve||"",k=a.gravity||"",l=a.dx||"",m=a.dy||"";return d+=j?"/dissolve/"+j:"",d+=k?"/gravity/"+k:"",d+=l?"/dx/"+l:"",d+=m?"/dy/"+m:"",b&&(d=this.getUrl(b)+"?"+d),d},this.imageInfo=function(a){if(!a)return!1;var b=this.getUrl(a)+"?imageInfo";var c=this.createAjax();var d;var e=this;return c.open("GET",b,!1),c.onreadystatechange=function(){4===c.readyState&&200===c.status&&(d=e.parseJSON(c.responseText))},c.send(),d},this.exif=function(a){if(!a)return!1;var b=this.getUrl(a)+"?exif";var c=this.createAjax();var d;var e=this;return c.open("GET",b,!1),c.onreadystatechange=function(){4===c.readyState&&200===c.status&&(d=e.parseJSON(c.responseText))},c.send(),d},this.get=function(a,b){return b&&a?"exif"===a?this.exif(b):"imageInfo"===a?this.imageInfo(b):!1:!1},this.pipeline=function(a,b){var c="[object Array]"===Object.prototype.toString.call(a);var d,e,f="";if(c){for(var g=0,h=a.length;h>g;g++){if(d=a[g],!d.fop)return!1;switch(d.fop){case"watermark":f+=this.watermark(d)+"|";break;case"imageView2":f+=this.imageView2(d)+"|";break;case"imageMogr2":f+=this.imageMogr2(d)+"|";break;default:e=!0}if(e)return!1}if(b){f=this.getUrl(b)+"?"+f;var i=f.length;"|"===f.slice(i-1)&&(f=f.slice(0,i-1))}return f}return!1}}var Qiniu=new QiniuJsSDK;global.Qiniu=Qiniu,global.QiniuJsSDK=QiniuJsSDK}(window); //# sourceMappingURL=dist/qiniu.min.map \ No newline at end of file diff --git a/dist/qiniu.min.map b/dist/qiniu.min.map index ce83e611..bf1f8515 100644 --- a/dist/qiniu.min.map +++ b/dist/qiniu.min.map @@ -1 +1 @@ -{"version":3,"file":"dist/qiniu.min.js","sources":["dist/qiniu.js"],"names":["global","createCookie","key","value","exp","date","Date","setTime","getTime","expires","toGMTString","document","cookie","readCookie","nameEQ","ca","split","i","max","length","c","charAt","substring","indexOf","window","localStorage","setItem","getItem","removeItem","QiniuJsSDK","that","this","detectIEVersion","v","div","createElement","all","getElementsByTagName","innerHTML","logger","MUTE","FATA","ERROR","WARN","INFO","DEBUG","TRACE","level","log","type","args","header","msg","stringifyJSON","console","unshift","apply","getElementById","makeLogFunc","code","func","toLowerCase","Array","prototype","slice","call","arguments","property","hasOwnProperty","qiniuUploadUrl","location","protocol","qiniuUploadUrls","changeUrlTimes","resetUploadUrl","debug","isImage","url","test","getFileExtension","filename","tempArr","ext","pop","utf8_encode","argString","string","utftext","start","end","stringl","n","c1","charCodeAt","enc","String","fromCharCode","RangeError","c2","base64_encode","data","b64","o1","o2","o3","h1","h2","h3","h4","bits","ac","tmp_arr","join","URLSafeBase64Encode","replace","createAjax","argument","xmlhttp","XMLHttpRequest","ActiveXObject","parseJSON","JSON","parse","rx_dangerous","text","lastIndex","a","toString","eval","obj","stringify","map","strArr","len","push","trim","uploader","op","reset_chunk_size","ie","BLOCK_BITS","MAX_CHUNK_SIZE","chunk_size","isSpecialSafari","mOxie","Env","browser","version","os","osVersion","runtimes","plupload","parseSize","getUpToken","file","uptoken","token","uptoken_url","uptoken_func","error","ajax","open","setRequestHeader","send","status","res","responseText","getFileKey","up","unique_names","save_key","getOption","settings","name","id","log_level","domain","browse_button","navigator","userAgent","option","_Error_Handler","init","Error","_FileUploaded_Handler","FileUploaded","key_handler","Key","ctx","speedCalInfo","isResumeUpload","resumeFilesize","startTime","currentTime","extend","multipart_params","Uploader","bind","params","get_new_uptoken","files","auto_start","is_ios","OS","setTimeout","refresh","speed","directUpload","multipart_params_obj","x_vars","undefined","x_key","setOption","multipart","is_android_weixin_or_qq","max_file_size","ua","match","runtime","size","localFileInfo","blockSize","now","before","time","aDay","percent","total","loaded","offset","required_features","headers","Authorization","trace","timeUsed","fileUploaded","toFixed","info","response","leftSize","retries","unknow_error_retry","QUEUED","stop","err","errTip","FAILED","FILE_SIZE_ERROR","FILE_EXTENSION_ERROR","HTTP_ERROR","message","errorObj","errorText","e","SECURITY_ERROR","GENERIC_ERROR","IO_ERROR","INIT_ERROR","destroy","details","last_step","downtoken_url","ajax_downtoken","onreadystatechange","readyState","res_downtoken","info_extended","trigger","fname","x_val","x_vars_url","swf_url","flash_swf_url","getUrl","encodeURI","imageView2","mode","w","h","q","format","imageUrl","imageMogr2","auto_orient","thumbnail","strip","gravity","crop","quality","rotate","blur","watermark","image","font","fontsize","fill","dissolve","dx","dy","imageInfo","xhr","exif","get","pipeline","arr","isArray","Object","errOp","fop","Qiniu"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dist/qiniu.min.js","sources":["dist/qiniu.js"],"names":["global","createCookie","key","value","exp","date","Date","setTime","getTime","expires","toGMTString","document","cookie","readCookie","nameEQ","ca","split","i","max","length","c","charAt","substring","indexOf","window","localStorage","setItem","getItem","removeItem","QiniuJsSDK","that","this","detectIEVersion","v","div","createElement","all","getElementsByTagName","innerHTML","logger","MUTE","FATA","ERROR","WARN","INFO","DEBUG","TRACE","level","log","type","args","header","msg","stringifyJSON","console","unshift","apply","getElementById","makeLogFunc","code","func","toLowerCase","Array","prototype","slice","call","arguments","property","hasOwnProperty","qiniuUploadUrl","location","protocol","qiniuUploadUrls","changeUrlTimes","resetUploadUrl","debug","isImage","url","test","getFileExtension","filename","tempArr","ext","pop","utf8_encode","argString","string","utftext","start","end","stringl","n","c1","charCodeAt","enc","String","fromCharCode","RangeError","c2","base64_encode","data","b64","o1","o2","o3","h1","h2","h3","h4","bits","ac","tmp_arr","join","URLSafeBase64Encode","replace","createAjax","argument","xmlhttp","XMLHttpRequest","ActiveXObject","parseJSON","JSON","parse","rx_dangerous","text","lastIndex","a","toString","eval","obj","stringify","map","strArr","len","push","trim","uploader","op","reset_chunk_size","ie","BLOCK_BITS","MAX_CHUNK_SIZE","chunk_size","isSpecialSafari","mOxie","Env","browser","version","os","osVersion","runtimes","plupload","parseSize","getUpToken","file","uptoken","token","uptoken_url","uptoken_func","error","ajax","open","setRequestHeader","send","status","res","responseText","getFileKey","up","unique_names","save_key","getOption","settings","name","id","log_level","domain","browse_button","navigator","userAgent","option","_Error_Handler","init","Error","_FileUploaded_Handler","FileUploaded","key_handler","Key","ctx","speedCalInfo","isResumeUpload","resumeFilesize","startTime","currentTime","defaultSetting","multipart_params","accept","extend","Uploader","bind","params","get_new_uptoken","files","auto_start","is_ios","OS","setTimeout","refresh","speed","directUpload","multipart_params_obj","x_vars","undefined","x_key","setOption","multipart","is_android_weixin_or_qq","max_file_size","ua","match","runtime","size","localFileInfo","blockSize","now","before","time","aDay","percent","total","loaded","offset","required_features","headers","Authorization","trace","timeUsed","fileUploaded","toFixed","info","response","leftSize","retries","unknow_error_retry","QUEUED","stop","err","errTip","FAILED","FILE_SIZE_ERROR","FILE_EXTENSION_ERROR","HTTP_ERROR","message","errorObj","errorText","e","SECURITY_ERROR","GENERIC_ERROR","IO_ERROR","INIT_ERROR","destroy","details","last_step","downtoken_url","ajax_downtoken","onreadystatechange","readyState","res_downtoken","info_extended","trigger","fname","x_val","x_vars_url","swf_url","flash_swf_url","getUrl","encodeURI","imageView2","mode","w","h","q","format","imageUrl","imageMogr2","auto_orient","thumbnail","strip","gravity","crop","quality","rotate","blur","watermark","image","font","fontsize","fill","dissolve","dx","dy","imageInfo","xhr","exif","get","pipeline","arr","isArray","Object","errOp","fop","Qiniu"],"mappings":";CAgBC,SAAWA,QAQZ,QAASC,cAAaC,EAAKC,EAAOC,GAC9B,GAAIC,GAAO,GAAIC,KACfD,GAAKE,QAAQF,EAAKG,UAAmB,GAANJ,EAAW,GAAK,GAAK,IACpD,IAAIK,GAAU,aAAeJ,EAAKK,aAClCC,UAASC,OAASV,EAAM,IAAMC,EAAQM,EAAU,WAOpD,QAASI,YAAWX,GAChB,GAAIY,GAASZ,EAAM,GACnB,IAAIa,GAAKJ,SAASC,OAAOI,MAAM,IAC/B,KAAK,GAAIC,GAAI,EAAGC,EAAMH,EAAGI,OAAYD,EAAJD,EAASA,IAAK,CAC3C,GAAIG,GAAIL,EAAGE,EACX,OAAuB,MAAhBG,EAAEC,OAAO,GACZD,EAAIA,EAAEE,UAAU,EAAGF,EAAED,OAEzB,IAA0B,IAAtBC,EAAEG,QAAQT,GACV,MAAOM,GAAEE,UAAUR,EAAOK,OAAQC,EAAED,QAG5C,MAAO,MAKLK,OAAOC,eACTD,OAAOC,cACHC,QAAS,SAAUxB,EAAKC,GACpBF,aAAaC,EAAKC,EAAO,KAE7BwB,QAAS,SAAUzB,GACf,MAAOW,YAAWX,IAEtB0B,WAAY,SAAU1B,GAClBD,aAAaC,EAAK,GAAI,MAKlC,SAAS2B,cAEL,GAAIC,MAAOC,IAUXA,MAAKC,gBAAkB,WACnB,GAAIC,GAAI,EACJC,EAAMvB,SAASwB,cAAc,OAC7BC,EAAMF,EAAIG,qBAAqB,IACnC,OACIH,EAAII,UAAY,iBAAmBL,EAAI,wBACvCG,EAAI,GAEJH,GAEJ,OAAOA,GAAI,EAAIA,GAAI,EAGvB,IAAIM,SACAC,KAAM,EACNC,KAAM,EACNC,MAAO,EACPC,KAAM,EACNC,KAAM,EACNC,MAAO,EACPC,MAAO,EACPC,MAAO,EAGX,SAASC,KAAIC,EAAMC,GACf,GAAIC,GAAS,kBAAkBF,EAAK,GACpC,IAAIG,GAAMD,CACV,KAAK,GAAIlC,GAAI,EAAGA,EAAIiC,EAAK/B,OAAQF,IAEzBmC,GADmB,gBAAZF,GAAKjC,GACL,IAAMiC,EAAKjC,GAEX,IAAMa,KAAKuB,cAAcH,EAAKjC,GAGzCa,MAAKE,kBAILsB,QAAQN,IAAII,IAEZF,EAAKK,QAAQJ,GACbG,QAAQN,IAAIQ,MAAMF,QAASJ,IAE3BvC,SAAS8C,eAAe,sBACxB9C,SAAS8C,eAAe,oBAAoBnB,WAAa,MAAMc,EAAI,QAI3E,QAASM,aAAYC,GACjB,GAAIC,GAAOD,EAAKE,aAChBtB,QAAOqB,GAAQ,WAGX,GAAGpC,OAAO8B,SAAW9B,OAAO8B,QAAQN,KAAOT,OAAOQ,OAAOR,OAAOoB,GAAM,CAClE,GAAIT,GAAOY,MAAMC,UAAUC,MAAMC,KAAKC,UACtClB,KAAIY,EAAKV,KAKrB,IAAK,GAAIiB,YAAY5B,QACbA,OAAO6B,eAAeD,WAA2C,gBAAtB5B,QAAO4B,YAA4B5B,OAAO6B,eAAeD,SAASN,gBAC7GH,YAAYS,SAKpB,IAAIE,eAEAA,gBAD6B,WAA7B7C,OAAO8C,SAASC,SACC,qBAEA,yBAQrB,IAAIC,kBACA,0BACA,sBAGJ,IAAIC,gBAAiB,CASrB1C,MAAK2C,eAAiB,WAClB,GAAiC,WAA7BlD,OAAO8C,SAASC,SAChBF,eAAiB,yBACd,CACH,GAAIpD,GAAIwD,eAAiBD,gBAAgBrD,MACzCkD,gBAAiBG,gBAAgBvD,GACjCwD,iBAEJlC,OAAOoC,MAAM,mBAAmBN,iBAGpCtC,KAAK2C,iBAQL3C,KAAK6C,QAAU,SAASC,GAEpB,MADAA,GAAMA,EAAI7D,MAAM,QAAQ,GACjB,6BAA+B8D,KAAKD,IAW/C9C,KAAKgD,iBAAmB,SAASC,GAC7B,GAAIC,GAAUD,EAAShE,MAAM,IAC7B,IAAIkE,EAMJ,OAJIA,GADmB,IAAnBD,EAAQ9D,QAAgC,KAAf8D,EAAQ,IAAgC,IAAnBA,EAAQ9D,OAChD,GAEA8D,EAAQE,MAAMtB,eAU5B9B,KAAKqD,YAAc,SAASC,GAgBxB,GAAkB,OAAdA,GAA2C,mBAAdA,GAC7B,MAAO,EAGX,IAAIC,GAAUD,EAAY,EAC1B,IAAIE,GAAU,GACVC,EAAOC,EAAKC,EAAU,CAE1BF,GAAQC,EAAM,EACdC,EAAUJ,EAAOnE,MACjB,KAAK,GAAIwE,GAAI,EAAOD,EAAJC,EAAaA,IAAK,CAC9B,GAAIC,GAAKN,EAAOO,WAAWF,EAC3B,IAAIG,GAAM,IAEV,IAAS,IAALF,EACAH,QACG,IAAIG,EAAK,KAAY,KAALA,EACnBE,EAAMC,OAAOC,aACRJ,GAAM,EAAK,IAAW,GAALA,EAAW,SAE9B,IAAS,MAALA,GAAc,EACrBE,EAAMC,OAAOC,aACRJ,GAAM,GAAM,IAAOA,GAAM,EAAK,GAAM,IAAW,GAALA,EAAW,SAEvD,CACH,GAAS,MAALA,GAAc,EACd,KAAM,IAAIK,YAAW,gCAAkCN,EAE3D,IAAIO,GAAKZ,EAAOO,aAAaF,EAC7B,IAAS,MAALO,GAAc,EACd,KAAM,IAAID,YAAW,gCAAkCN,EAAI,GAE/DC,KAAY,KAALA,IAAe,KAAY,KAALM,GAAc,MAC3CJ,EAAMC,OAAOC,aACRJ,GAAM,GAAM,IAAOA,GAAM,GAAM,GAAM,IAAOA,GAAM,EAAK,GAAM,IAAW,GAALA,EAAW,KAG3E,OAARE,IACIL,EAAMD,IACND,GAAWD,EAAOtB,MAAMwB,EAAOC,IAEnCF,GAAWO,EACXN,EAAQC,EAAME,EAAI,GAQ1B,MAJIF,GAAMD,IACND,GAAWD,EAAOtB,MAAMwB,EAAOE,IAG5BH,GAQXxD,KAAKoE,cAAgB,SAASC,GAgB1B,GAAIC,GAAM,mEACV,IAAIC,GAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAM5F,EAAI,EACtC6F,EAAK,EACLhB,EAAM,GACNiB,IAEJ,KAAKX,EACD,MAAOA,EAGXA,GAAOrE,KAAKqD,YAAYgB,EAAO,GAE/B,GACIE,GAAKF,EAAKP,WAAW5E,KACrBsF,EAAKH,EAAKP,WAAW5E,KACrBuF,EAAKJ,EAAKP,WAAW5E,KAErB4F,EAAOP,GAAM,GAAKC,GAAM,EAAIC,EAE5BC,EAAKI,GAAQ,GAAK,GAClBH,EAAKG,GAAQ,GAAK,GAClBF,EAAKE,GAAQ,EAAI,GACjBD,EAAY,GAAPC,EAGLE,EAAQD,KAAQT,EAAIhF,OAAOoF,GAAMJ,EAAIhF,OAAOqF,GAAML,EAAIhF,OAAOsF,GAAMN,EAAIhF,OAAOuF,SACzE3F,EAAImF,EAAKjF,OAIlB,QAFA2E,EAAMiB,EAAQC,KAAK,IAEXZ,EAAKjF,OAAS,GAClB,IAAK,GACD2E,EAAMA,EAAI9B,MAAM,EAAG,IAAM,IACzB,MACJ,KAAK,GACD8B,EAAMA,EAAI9B,MAAM,EAAG,IAAM,IAIjC,MAAO8B,IAQX/D,KAAKkF,oBAAsB,SAAShF,GAEhC,MADAA,GAAIF,KAAKoE,cAAclE,GAChBA,EAAEiF,QAAQ,MAAO,KAAKA,QAAQ,MAAO,MAQhDnF,KAAKoF,WAAa,SAASC,GACvB,GAAIC,KAMJ,OAJIA,GADA7F,OAAO8F,eACG,GAAIA,gBAEJ,GAAIC,eAAc,sBAWpCxF,KAAKyF,UAAY,SAASpB,MAEtB,GAAI5E,OAAOiG,MAAQjG,OAAOiG,KAAKC,MAC3B,MAAOlG,QAAOiG,KAAKC,MAAMtB,KAO7B,IAAOuB,cAAe,0GAItB,IAAIC,MAAO7B,OAAOK,KAoBlB,OAnBAuB,cAAaE,UAAY,EACtBF,aAAa7C,KAAK8C,QACjBA,KAAOA,KAAKV,QAAQS,aAAc,SAASG,GACxC,MAAO,OAAS,OAASA,EAAEjC,WAAW,GAAGkC,SAAS,KAAK/D,MAAM,OAgB7DgE,KAAK,IAAIJ,KAAK,MAQzB7F,KAAKsB,cAAgB,SAAS4E,GAE1B,GAAIzG,OAAOiG,MAAQjG,OAAOiG,KAAKS,UAC3B,MAAO1G,QAAOiG,KAAKS,UAAUD,EAEjC,cAAe,IACX,IAAK,SACD,MAAO,IAAMA,EAAIf,QAAQ,WAAY,QAAU,GACnD,KAAK,QACD,MAAO,IAAMe,EAAIE,IAAIrG,KAAKuB,eAAe2D,KAAK,KAAO,GACzD,KAAK,SACD,GAAIiB,YAAenE,OAAO,CACtB,GAAIsE,KACJ,IAAIC,GAAMJ,EAAI9G,MACd,KAAK,GAAIF,GAAI,EAAOoH,EAAJpH,EAASA,IACrBmH,EAAOE,KAAKxG,KAAKuB,cAAc4E,EAAIhH,IAEvC,OAAO,IAAMmH,EAAOpB,KAAK,KAAO,IAC7B,GAAY,OAARiB,EACP,MAAO,MAEP,IAAI3C,KACJ,KAAK,GAAInB,KAAY8D,GACbA,EAAI7D,eAAeD,IACnBmB,EAAOgD,KAAKxG,KAAKuB,cAAcc,GAAY,IAAMrC,KAAKuB,cAAc4E,EAAI9D,IAGhF,OAAO,IAAMmB,EAAO0B,KAAK,KAAO,GAGxC,KAAK,SACD,MAAOiB,EACX,MAAK,EACD,MAAOA,EACX,KAAK,UACD,MAAOA,KASnBlG,KAAKwG,KAAO,SAASX,GACjB,MAAgB,QAATA,EAAgB,GAAKA,EAAKV,QAAQ,aAAc,KAQ3DnF,KAAKyG,SAAW,SAASC,GAQrB,GAAIC,GAAmB,WACnB,GAAIC,GAAK7G,KAAKE,iBACd,IAAI4G,GAAYC,EAAgBC,CAEhC,IAAIC,GAAyC,WAAtBC,MAAMC,IAAIC,SAAwBF,MAAMC,IAAIE,SAAW,GAAsB,YAAjBH,MAAMC,IAAIG,IAA4C,MAAxBJ,MAAMC,IAAII,WAA6C,WAAtBL,MAAMC,IAAIC,SAAyC,QAAjBF,MAAMC,IAAIG,IAAwC,MAAxBJ,MAAMC,IAAII,SAIpNV,IAAW,EAALA,GAAUF,EAAGK,YAAcL,EAAGa,SAAS/H,QAAQ,UAAY,EAGjEkH,EAAGK,WAAa,EACTC,EAIPN,EAAGK,WAAa,GAEhBF,EAAa,GACbC,EAAiB,GAAKD,EAEtBE,EAAaS,SAASC,UAAUf,EAAGK,YAC/BA,EAAaD,IACbJ,EAAGK,WAAaD,IAa5B,IAAIY,GAAa,SAASC,GACtB,GAAIjB,EAAGkB,QAEH,YADA7H,KAAK8H,MAAQnB,EAAGkB,QAEb,EAAA,IAAIlB,EAAGoB,YAqBP,MAAIpB,GAAGqB,cACVvH,OAAOoC,MAAM,iCACb7C,KAAK8H,MAAQnB,EAAGqB,aAAaJ,OAC7BnH,QAAOoC,MAAM,oBAAqB7C,KAAK8H,YAGvCrH,QAAOwH,MAAM,+EA1BbxH,QAAOoC,MAAM,qBAAsB7C,KAAK+H,YAExC,IAAIG,GAAOlI,KAAKqF,YAUhB,IATA6C,EAAKC,KAAK,MAAOnI,KAAK+H,aAAa,GACnCG,EAAKE,iBAAiB,oBAAqB,KAO3CF,EAAKG,OACe,MAAhBH,EAAKI,OAAgB,CACrB,GAAIC,GAAMvI,KAAK0F,UAAUwC,EAAKM,aAC9BxI,MAAK8H,MAAQS,EAAIV,QACjBpH,OAAOoC,MAAM,oBAAqB0F,EAAIV,aAEtCpH,QAAOwH,MAAM,sBAAuBC,EAAKM,eAcrD,IAAIC,GAAa,SAASC,EAAId,EAAM9F,GAEhC,GAAI1D,GAAM,GACNuK,GAAe,CACnB,KAAKhC,EAAGiC,SAGJ,GAFAD,EAAeD,EAAGG,WAAaH,EAAGG,UAAU,gBAC5CF,EAAeA,GAAiBD,EAAGI,UAAYJ,EAAGI,SAASH,aACzC,CACd,GAAIvF,GAAMpD,KAAKiD,iBAAiB2E,EAAKmB,KACrC3K,GAAMgF,EAAMwE,EAAKoB,GAAK,IAAM5F,EAAMwE,EAAKoB,OAEvC5K,GADuB,kBAAT0D,GACRA,EAAK4G,EAAId,GAETA,EAAKmB,IAGnB,OAAO3K,GASX,IAJIuI,EAAGsC,YACHxI,OAAOQ,MAAQ0F,EAAGsC,YAGjBtC,EAAGuC,OACJ,KAAM,wCAGV,KAAKvC,EAAGwC,cACJ,KAAM,+CAGV,KAAKxC,EAAGkB,UAAYlB,EAAGoB,cAAgBpB,EAAGqB,aACtC,KAAM,8EAGVvH,QAAOoC,MAAM,uBAEbpC,OAAOoC,MAAM,gBAAiBqE,MAAMC,KAEpC1G,OAAOoC,MAAM,cAAeuG,UAAUC,UAEtC,IAAIC,KAGJ,IAAIC,GAAiB5C,EAAG6C,MAAQ7C,EAAG6C,KAAKC,KACxC,IAAIC,GAAwB/C,EAAG6C,MAAQ7C,EAAG6C,KAAKG,YAG/ChD,GAAG6C,KAAKC,MAAQ,aAChB9C,EAAG6C,KAAKG,aAAe,aAEvB3J,KAAK+H,YAAcpB,EAAGoB,YACtB/H,KAAK8H,MAAQ,GACb9H,KAAK4J,YAAqC,kBAAhBjD,GAAG6C,KAAKK,IAAqBlD,EAAG6C,KAAKK,IAAM,GACrE5J,KAAKiJ,OAASvC,EAAGuC,MAGjB,IAAIY,GAAM,EACV,IAAIC,IACAC,gBAAgB,EAChBC,eAAgB,EAChBC,UAAW,GACXC,YAAa,GAGjBvD,KACAnG,OAAOoC,MAAM,6BACbpC,OAAOoC,MAAM,kBAAmB8D,EAAGK,WAEnC,IAAIoD,IACArH,IAAKR,eACL8H,kBACIvC,MAAO,IAGf,IAAIjB,GAAK7G,KAAKE,iBAGV2G,IAAY,GAANA,IACNuD,EAAeC,iBAAiBC,OAAS,4BACzC7J,OAAOoC,MAAM,8CAIjB4E,SAAS8C,OAAOjB,EAAQ3C,EAAIyD,GAE5B3J,OAAOoC,MAAM,WAAYyG,EAGzB,IAAI5C,GAAW,GAAIe,UAAS+C,SAASlB,EAErC7I,QAAOoC,MAAM,iCAGb6D,EAAS+D,KAAK,OAAQ,SAAS/B,EAAIgC,GAC/BjK,OAAOoC,MAAM,wBAKT8D,EAAGgE,iBACHhD,EAAW,QAKnBlH,OAAOoC,MAAM,mBAKb6D,EAAS+D,KAAK,aAAc,SAAS/B,EAAIkC,GACrCnK,OAAOoC,MAAM,6BACb,IAAIgI,GAAanC,EAAGG,WAAaH,EAAGG,UAAU,aAC9CgC,GAAaA,GAAenC,EAAGI,UAAYJ,EAAGI,SAAS+B,WACvDpK,OAAOoC,MAAM,eAAgBgI,GAC7BpK,OAAOoC,MAAM,UAAW+H,EAGxB,IAAIE,GAAS,WACT,MAAgC,QAA7B5D,MAAMC,IAAI4D,GAAGhJ,eACL,GAEA,EAKf,IAAI+I,IACA,IAAK,GAAI3L,GAAI,EAAGA,EAAIyL,EAAMvL,OAAQF,IAAK,CACnC,GAAIyI,GAAOgD,EAAMzL,EACjB,IAAIiE,GAAMpD,KAAKiD,iBAAiB2E,EAAKmB,KACrCnB,GAAKmB,KAAOnB,EAAKoB,GAAK,IAAM5F,EAIhCyH,GACAG,WAAW,WACPtC,EAAGhF,QACHjD,OAAOoC,MAAM,sBACd,GAQP6F,EAAGuC,YAGPxK,OAAOoC,MAAM,yBAOb6D,EAAS+D,KAAK,eAAgB,SAAS/B,EAAId,GACvCnH,OAAOoC,MAAM,gCAEb+E,EAAKsD,MAAQtD,EAAKsD,OAAS,EAC3BpB,EAAM,GAEHnD,EAAGgE,iBACFhD,EAAWC,EAGf,IAAIuD,GAAe,SAASzC,EAAId,EAAM9F,GAClCiI,EAAaG,WAAY,GAAI1L,OAAOE,SACpC,IAAI0M,EAEAA,GADAzE,EAAGiC,UAECd,MAAS9H,KAAK8H,QAId1J,IAAOqK,EAAWC,EAAId,EAAM9F,GAC5BgG,MAAS9H,KAAK8H,MAGtB,IAAIjB,GAAK7G,KAAKE,iBAGV2G,IAAY,GAANA,IACNuE,EAAqBd,OAAS,4BAC9B7J,OAAOoC,MAAM,8CAGjBpC,OAAOoC,MAAM,sCAAuCuI,EAEpD,IAAIC,GAAS1E,EAAG0E,MAChB,IAAeC,SAAXD,GAA0C,gBAAXA,GAC/B,IAAK,GAAIE,KAASF,GACVA,EAAO/I,eAAeiJ,KACO,kBAAlBF,GAAOE,GACdH,EAAqB,KAAOG,GAASF,EAAOE,GAAO7C,EAAId,GACvB,gBAAlByD,GAAOE,KACrBH,EAAqB,KAAOG,GAASF,EAAOE,IAO5D7C,GAAG8C,WACCzI,IAAOR,eACPkJ,WAAa,EACbzE,WAAc0E,IAA4B/E,EAAGgF,cAAgBL,OAC7DjB,iBAAoBe,IAK5B,IAAIM,GAA0B,WAC1B,GAAIE,GAAKxC,UAAUC,UAAUtH,aAC7B,QAAI6J,EAAGC,MAAM,oBAA4C,cAAtB3E,MAAMC,IAAIC,SAA2BwE,EAAGC,MAAM,gBAA+C,YAA7B3E,MAAMC,IAAI4D,GAAGhJ,eACrG,GAEA,EAIf,IAAIiF,GAAa0B,EAAGG,WAAaH,EAAGG,UAAU,aAO9C,IANA7B,EAAaA,GAAe0B,EAAGI,UAAYJ,EAAGI,SAAS9B,WAEvDvG,OAAOoC,MAAM,qBAAqB6D,EAASoF,SAC3CrL,OAAOoC,MAAM,eAAemE,GAGF,UAArBN,EAASoF,SAA4C,UAArBpF,EAASoF,UAAwB9E,EA8ElEvG,OAAOoC,MAAM,oGAEbsI,EAAazC,EAAId,EAAM5H,KAAK4J,iBA/E5B,IAAIhC,EAAKmE,KAAO/E,GAAc0E,IAC1BjL,OAAOoC,MAAM,4EAEbsI,EAAazC,EAAId,EAAM5H,KAAK4J,iBACzB,CAIH,GAAIoC,GAAgBrM,aAAaE,QAAQ+H,EAAKmB,KAC9C,IAAIkD,GAAYjF,CAChB,IAAIgF,EAAe,CAGfA,EAAgBhM,KAAK0F,UAAUsG,EAC/B,IAAIE,IAAM,GAAK1N,OAAQE,SACvB,IAAIyN,GAASH,EAAcI,MAAQ,CACnC,IAAIC,GAAO,KAKQA,GAAfH,EAAMC,GAEwB,MAA1BH,EAAcM,SACV1E,EAAKmE,OAASC,EAAcO,OAG5B3E,EAAK0E,QAAUN,EAAcM,QAC7B1E,EAAK4E,OAASR,EAAcS,OAC5B3C,EAAMkC,EAAclC,IAGpBC,EAAaC,gBAAiB,EAC9BD,EAAaE,eAAiB+B,EAAcS,OAGxCT,EAAcS,OAASR,EAAYrE,EAAKmE,OACxCE,EAAYrE,EAAKmE,KAAOC,EAAcS,SAclD9M,aAAaG,WAAW8H,EAAKmB,MAGrCgB,EAAaG,WAAY,GAAI1L,OAAOE,SACpC,IAAI0M,KACJ,IAAIvE,GAAK7G,KAAKE,iBAGV2G,IAAY,GAANA,IACNuE,EAAqBd,OAAS,4BAC9B7J,OAAOoC,MAAM,8CAIjB6F,EAAG8C,WACCzI,IAAOR,eAAiB,UAAY0J,EACpCR,WAAa,EACbzE,WAAcA,EACd0F,kBAAqB,SACrBC,SACIC,cAAiB,WAAa5M,KAAK8H,OAEvCuC,iBAAoBe,OAUpC3K,OAAOoC,MAAM,2BAIb6D,EAAS+D,KAAK,iBAAkB,SAAS/B,EAAId,GACzCnH,OAAOoM,MAAM,kCACb9C,EAAaI,aAAc,GAAI3L,OAAOE,SACtC,IAAIoO,GAAW/C,EAAaI,YAAcJ,EAAaG,SACvD,IAAI6C,GAAenF,EAAK4E,QAAU,CAC9BzC,GAAaC,iBACb+C,EAAenF,EAAK4E,OAASzC,EAAaE,gBAE9CrC,EAAKsD,OAAS6B,EAAeD,EAAW,KAAME,QAAQ,IAAM,IAGhEvM,OAAOoC,MAAM,6BAIb6D,EAAS+D,KAAK,gBAAiB,SAAS/B,EAAId,EAAMqF,GAC9CxM,OAAOoC,MAAM,iCACbpC,OAAOoC,MAAM,SAAU+E,GACvBnH,OAAOoC,MAAM,SAAUoK,EACvB,IAAI1E,GAAMvI,KAAK0F,UAAUuH,EAAKC,SAC9BzM,QAAOoC,MAAM,QAAS0F,GAEtBuB,EAAMA,EAAMA,EAAM,IAAMvB,EAAIuB,IAAMvB,EAAIuB,GACtC,IAAIqD,GAAWF,EAAKV,MAAQU,EAAKR,MACjC,IAAIzF,GAAa0B,EAAGG,WAAaH,EAAGG,UAAU,aAC9C7B,GAAaA,GAAe0B,EAAGI,UAAYJ,EAAGI,SAAS9B,WACxCA,EAAXmG,IACAzE,EAAG8C,WACCzI,IAAOR,eAAiB,UAAY4K,IAExC1M,OAAOoC,MAAM,qBAAsBN,eAAiB,UAAY4K,IAEpExN,aAAaC,QAAQgI,EAAKmB,KAAM/I,KAAKuB,eACjCuI,IAAKA,EACLwC,QAAS1E,EAAK0E,QACdC,MAAOU,EAAKV,MACZE,OAAQQ,EAAKR,OACbL,MAAM,GAAK5N,OAAQE,eAI3B+B,OAAOoC,MAAM,2BAEb,IAAIuK,GAAU1K,gBAAgBrD,MAG9B,IAAIgO,GAAqB,SAASzF,GAC9B,MAAIwF,KAAY,GACZpC,WAAW,WACPhL,KAAK4C,iBACLgF,EAAKU,OAASb,SAAS6F,OACvB5G,EAAS6G,OACT7G,EAAShD,SACV,IACI,IAEP0J,EAAU1K,gBAAgBrD,QACnB,GAwPf,OAlPAqH,GAAS+D,KAAK,QAAS,SAAUlB,GAC7B,MAAO,UAASb,EAAI8E,GAChB/M,OAAOwH,MAAM,yBACbxH,OAAOwH,MAAM,QAASuF,EACtB,IAAIC,GAAS,EACb,IAAI7F,GAAO4F,EAAI5F,IACf,IAAIA,EAAM,CACN,OAAQ4F,EAAI3L,MACR,IAAK4F,UAASiG,OACVD,EAAS,oEACT,MACJ,KAAKhG,UAASkG,gBACV,GAAIhC,GAAgBjD,EAAGG,WAAaH,EAAGG,UAAU,gBACjD8C,GAAgBA,GAAkBjD,EAAGI,UAAYJ,EAAGI,SAAS6C,cAC7D8B,EAAS,mDAAa9B,EAAgB,sFACtC,MACJ,KAAKlE,UAASmG,qBACVH,EAAS,gFACT,MACJ,KAAKhG,UAASoG,WACV,GAAqB,KAAjBL,EAAIN,SAAiB,CAGrB,GADAO,EAASD,EAAIM,SAAW,8CACnBT,EAAmBzF,GACpB,MAEJ,OAEJ,GAAImG,GAAW/N,KAAK0F,UAAU8H,EAAIN,SAClC,IAAIc,GAAYD,EAAS9F,KACzB,QAAQuF,EAAIlF,QACR,IAAK,KACDmF,EAAS,wDACT,MACJ,KAAK,KACDA,EAAS,oHACT,MACJ,KAAK,KACDA,EAAS,wGACT,MACJ,KAAK,KACDA,EAAS,gFACT,MACJ,KAAK,KAED,GADAA,EAAS,oGACJJ,EAAmBzF,GACpB,MAEJ,MACJ,KAAK,KACD6F,EAAS,sCACT,KACIM,EAAW/N,KAAK0F,UAAUqI,EAAS9F,OACnC+F,EAAYD,EAAS9F,OAAS,cAChC,MAAOgG,GACLD,EAAYD,EAAS9F,OAAS,cAElC,KACJ,KAAK,KACDwF,EAAS,kDACT,MACJ,KAAK,KACDA,EAAS,oHACT,MACJ,SAEI,GADAA,EAAS,kCACJJ,EAAmBzF,GACpB,OAIZ6F,EAASA,EAAS,IAAMD,EAAIlF,OAAS,SAAM0F,EAAY,GACvD,MACJ,KAAKvG,UAASyG,eACVT,EAAS,kGACT,MACJ,KAAKhG,UAAS0G,cACVV,EAAS,oEACT,MACJ,KAAKhG,UAAS2G,SACVX,EAAS,oEACT,MACJ,KAAKhG,UAAS4G,WACVZ,EAAS,mGACT/G,EAAS4H,SACT,MACJ,SAEI,GADAb,EAASD,EAAIM,QAAUN,EAAIe,SACtBlB,EAAmBzF,GACpB,OAIR2B,GACAA,EAAeb,EAAI8E,EAAKC,GAGhC/E,EAAGuC,YAER1B,IAEH9I,OAAOoC,MAAM,oBAMb6D,EAAS+D,KAAK,eAAgB,SAAUf,GACpC,MAAO,UAAShB,EAAId,EAAMqF,GACtBxM,OAAOoC,MAAM,gCACbpC,OAAOoC,MAAM,SAAU+E,GACvBnH,OAAOoC,MAAM,SAAUoK,EACvB,IAAIuB,GAAY,SAAS9F,EAAId,EAAMqF,GAC/B,GAAItG,EAAG8H,cAAe,CAGlB,GAAIC,GAAiB1O,KAAKqF,YAC1BqJ,GAAevG,KAAK,OAAQxB,EAAG8H,eAAe,GAC9CC,EAAetG,iBAAiB,eAAgB,qCAChDsG,EAAeC,mBAAqB,WAChC,GAAkC,IAA9BD,EAAeE,WACf,GAA8B,MAA1BF,EAAepG,OAAgB,CAC/B,GAAIuG,EACJ,KACIA,EAAgB7O,KAAK0F,UAAUgJ,EAAelG,cAChD,MAAOyF,GACL,KAAM,sBAEV,GAAIa,KACJrH,UAAS8C,OAAOuE,EAAe9O,KAAK0F,UAAUuH,GAAO4B,GACjDnF,GACAA,EAAsBhB,EAAId,EAAM5H,KAAKuB,cAAcuN,QAGvDpI,GAASqI,QAAQ,SACbzG,OAAQoG,EAAepG,OACvB4E,SAAUwB,EAAelG,aACzBZ,KAAMA,EACN/F,KAAM4F,SAASoG,cAK/Ba,EAAerG,KAAK,OAASrI,KAAK0F,UAAUuH,GAAM7O,IAAM,WAAauI,EAAGuC,YACjEQ,IACPA,EAAsBhB,EAAId,EAAMqF,GAIxC,IAAI1E,GAAMvI,KAAK0F,UAAUuH,EAAKC,SAS9B,IARApD,EAAMA,EAAMA,EAAMvB,EAAIuB,IAOtBrJ,OAAOoC,MAAM,QAASiH,GAClBA,EAAK,CACL,GAAI1L,GAAM,EACVqC,QAAOoC,MAAM,aAAc8D,EAAGiC,UACzBjC,EAAGiC,WACJxK,EAAMqK,EAAWC,EAAId,EAAM5H,KAAK4J,aAChCxL,EAAMA,EAAM,QAAU4B,KAAKmF,oBAAoB/G,GAAO,GAG1D,IAAI4Q,GAAQ,UAAYhP,KAAKmF,oBAAoByC,EAAKmB,KAEtDtI,QAAOoC,MAAM,cAAe8D,EAAG0E,OAC/B,IAAIA,GAAS1E,EAAG0E,OACZ4D,EAAQ,GACRC,EAAa,EACjB,IAAe5D,SAAXD,GAA0C,gBAAXA,GAC/B,IAAK,GAAIE,KAASF,GACVA,EAAO/I,eAAeiJ,KACO,kBAAlBF,GAAOE,GACd0D,EAAQjP,KAAKmF,oBAAoBkG,EAAOE,GAAO7C,EAAId,IACnB,gBAAlByD,GAAOE,KACrB0D,EAAQjP,KAAKmF,oBAAoBkG,EAAOE,KAE5C2D,GAAc,MAAQ3D,EAAQ,IAAM0D,EAKhD,IAAIlM,GAAMR,eAAiB,WAAaqF,EAAKmE,KAAO3N,EAAM4Q,EAAQE,CAElE,IAAIrI,GAAK7G,KAAKE,iBACd,IAAIgI,EACArB,IAAY,GAANA,GACNqB,EAAO,GAAIhB,OAAM1B,eACjB0B,MAAMC,IAAIgI,QAAUxI,EAAGyI,eAEvBlH,EAAOlI,KAAKqF,aAEhB6C,EAAKC,KAAK,OAAQpF,GAAK,GACvBmF,EAAKE,iBAAiB,eAAgB,4BACtCF,EAAKE,iBAAiB,gBAAiB,WAAapI,KAAK8H,MACzD,IAAI6G,GAAqB,WAErB,GADAlO,OAAOoC,MAAM,oBAAqBqF,EAAK0G,YACf,IAApB1G,EAAK0G,WAAkB,CACvBjP,aAAaG,WAAW8H,EAAKmB,KAC7B,IAAIkE,EACgB,OAAhB/E,EAAKI,QACL2E,EAAO/E,EAAKM,aACZ/H,OAAOoC,MAAM,sBAAuBoK,GACpCuB,EAAU9F,EAAId,EAAMqF,KAEpBA,GACI3E,OAAQJ,EAAKI,OACb4E,SAAUhF,EAAKM,aACfZ,KAAMA,EACN/F,KAAM,MAEVpB,OAAOoC,MAAM,oBAAqBoK,GAClCvG,EAASqI,QAAQ,QAAS9B,KAIlCpG,IAAY,GAANA,EACNqB,EAAKuC,KAAK,mBAAoBkE,GAE9BzG,EAAKyG,mBAAqBA,EAE9BzG,EAAKG,KAAKyB,GACVrJ,OAAOoC,MAAM,WAAYE,OAEzByL,GAAU9F,EAAId,EAAMqF,EAAKC,YAIlCxD,IAEHjJ,OAAOoC,MAAM,2BAGb6D,EAAS8C,OAET/I,OAAOoC,MAAM,0BAEbpC,OAAOoC,MAAM,qBAEN6D,GAQXzG,KAAKoP,OAAS,SAASjR,GACnB,IAAKA,EACD,OAAO,CAEXA,GAAMkR,UAAUlR,EAChB,IAAI8K,GAASjJ,KAAKiJ,MAIlB,OAHwC,MAApCA,EAAOhH,MAAMgH,EAAO7J,OAAS,KAC7B6J,GAAkB,KAEfA,EAAS9K,GASpB6B,KAAKsP,WAAa,SAAS5I,EAAIvI,GAC3B,GAAIoR,GAAO7I,EAAG6I,MAAQ,GAClBC,EAAI9I,EAAG8I,GAAK,GACZC,EAAI/I,EAAG+I,GAAK,GACZC,EAAIhJ,EAAGgJ,GAAK,GACZC,EAASjJ,EAAGiJ,QAAU,EAC1B,KAAKJ,EACD,OAAO,CAEX,KAAKC,IAAMC,EACP,OAAO,CAGX,IAAIG,GAAW,cAAgBL,CAQ/B,OAPAK,IAAYJ,EAAI,MAAQA,EAAI,GAC5BI,GAAYH,EAAI,MAAQA,EAAI,GAC5BG,GAAYF,EAAI,MAAQA,EAAI,GAC5BE,GAAYD,EAAS,WAAaA,EAAS,GACvCxR,IACAyR,EAAW5P,KAAKoP,OAAOjR,GAAO,IAAMyR,GAEjCA,GASX5P,KAAK6P,WAAa,SAASnJ,EAAIvI,GAC3B,GAAI2R,GAAcpJ,EAAG,gBAAkB,GACnCqJ,EAAYrJ,EAAGqJ,WAAa,GAC5BC,EAAQtJ,EAAGsJ,OAAS,GACpBC,EAAUvJ,EAAGuJ,SAAW,GACxBC,EAAOxJ,EAAGwJ,MAAQ,GAClBC,EAAUzJ,EAAGyJ,SAAW,GACxBC,EAAS1J,EAAG0J,QAAU,GACtBT,EAASjJ,EAAGiJ,QAAU,GACtBU,EAAO3J,EAAG2J,MAAQ,EAGtB,IAAIT,GAAW,YAef,OAbAA,IAAYE,EAAc,eAAiB,GAC3CF,GAAYG,EAAY,cAAgBA,EAAY,GACpDH,GAAYI,EAAQ,SAAW,GAC/BJ,GAAYK,EAAU,YAAcA,EAAU,GAC9CL,GAAYO,EAAU,YAAcA,EAAU,GAC9CP,GAAYM,EAAO,SAAWA,EAAO,GACrCN,GAAYQ,EAAS,WAAaA,EAAS,GAC3CR,GAAYD,EAAS,WAAaA,EAAS,GAC3CC,GAAYS,EAAO,SAAWA,EAAO,GAEjClS,IACAyR,EAAW5P,KAAKoP,OAAOjR,GAAO,IAAMyR,GAEjCA,GASX5P,KAAKsQ,UAAY,SAAS5J,EAAIvI,GAC1B,GAAIoR,GAAO7I,EAAG6I,IACd,KAAKA,EACD,OAAO,CAGX,IAAIK,GAAW,aAAeL,CAE9B,IAAa,IAATA,EAAY,CACZ,GAAIgB,GAAQ7J,EAAG6J,OAAS,EACxB,KAAKA,EACD,OAAO,CAEXX,IAAYW,EAAQ,UAAYvQ,KAAKkF,oBAAoBqL,GAAS,OAC/D,CAAA,GAAa,IAAThB,EAcP,OAAO,CAbP,IAAI1J,GAAOa,EAAGb,KAAOa,EAAGb,KAAO,GAC3B2K,EAAO9J,EAAG8J,KAAO9J,EAAG8J,KAAO,GAC3BC,EAAW/J,EAAG+J,SAAW/J,EAAG+J,SAAW,GACvCC,EAAOhK,EAAGgK,KAAOhK,EAAGgK,KAAO,EAC/B,KAAK7K,EACD,OAAO,CAEX+J,IAAY/J,EAAO,SAAW7F,KAAKkF,oBAAoBW,GAAQ,GAC/D+J,GAAYY,EAAO,SAAWxQ,KAAKkF,oBAAoBsL,GAAQ,GAC/DZ,GAAYa,EAAW,aAAeA,EAAW,GACjDb,GAAYc,EAAO,SAAW1Q,KAAKkF,oBAAoBwL,GAAQ,GAMnE,GAAIC,GAAWjK,EAAGiK,UAAY,GAC1BV,EAAUvJ,EAAGuJ,SAAW,GACxBW,EAAKlK,EAAGkK,IAAM,GACdC,EAAKnK,EAAGmK,IAAM,EAUlB,OARAjB,IAAYe,EAAW,aAAeA,EAAW,GACjDf,GAAYK,EAAU,YAAcA,EAAU,GAC9CL,GAAYgB,EAAK,OAASA,EAAK,GAC/BhB,GAAYiB,EAAK,OAASA,EAAK,GAE3B1S,IACAyR,EAAW5P,KAAKoP,OAAOjR,GAAO,IAAMyR,GAEjCA,GAQX5P,KAAK8Q,UAAY,SAAS3S,GACtB,IAAKA,EACD,OAAO,CAEX,IAAI2E,GAAM9C,KAAKoP,OAAOjR,GAAO,YAC7B,IAAI4S,GAAM/Q,KAAKoF,YACf,IAAI4H,EACJ,IAAIjN,GAAOC,IAQX,OAPA+Q,GAAI7I,KAAK,MAAOpF,GAAK,GACrBiO,EAAIrC,mBAAqB,WACE,IAAnBqC,EAAIpC,YAAmC,MAAfoC,EAAI1I,SAC5B2E,EAAOjN,EAAK0F,UAAUsL,EAAIxI,gBAGlCwI,EAAI3I,OACG4E,GAQXhN,KAAKgR,KAAO,SAAS7S,GACjB,IAAKA,EACD,OAAO,CAEX,IAAI2E,GAAM9C,KAAKoP,OAAOjR,GAAO,OAC7B,IAAI4S,GAAM/Q,KAAKoF,YACf,IAAI4H,EACJ,IAAIjN,GAAOC,IAQX,OAPA+Q,GAAI7I,KAAK,MAAOpF,GAAK,GACrBiO,EAAIrC,mBAAqB,WACE,IAAnBqC,EAAIpC,YAAmC,MAAfoC,EAAI1I,SAC5B2E,EAAOjN,EAAK0F,UAAUsL,EAAIxI,gBAGlCwI,EAAI3I,OACG4E,GAUXhN,KAAKiR,IAAM,SAAS/P,EAAM/C,GACtB,MAAKA,IAAQ+C,EAGA,SAATA,EACOlB,KAAKgR,KAAK7S,GACD,cAAT+C,EACAlB,KAAK8Q,UAAU3S,IAEnB,GAPI,GAkBf6B,KAAKkR,SAAW,SAASC,EAAKhT,GAC1B,GAAIiT,GAAkD,mBAAxCC,OAAOrP,UAAUgE,SAAS9D,KAAKiP,EAC7C,IAAI9H,GAAQiI,EAAO1B,EAAW,EAC9B,IAAIwB,EAAS,CACT,IAAK,GAAIlS,GAAI,EAAGoH,EAAM6K,EAAI/R,OAAYkH,EAAJpH,EAASA,IAAK,CAE5C,GADAmK,EAAS8H,EAAIjS,IACRmK,EAAOkI,IACR,OAAO,CAEX,QAAQlI,EAAOkI,KACX,IAAK,YACD3B,GAAY5P,KAAKsQ,UAAUjH,GAAU,GACrC,MACJ,KAAK,aACDuG,GAAY5P,KAAKsP,WAAWjG,GAAU,GACtC,MACJ,KAAK,aACDuG,GAAY5P,KAAK6P,WAAWxG,GAAU,GACtC,MACJ,SACIiI,GAAQ,EAGhB,GAAIA,EACA,OAAO,EAGf,GAAInT,EAAK,CACLyR,EAAW5P,KAAKoP,OAAOjR,GAAO,IAAMyR,CACpC,IAAIxQ,GAASwQ,EAASxQ,MACa,OAA/BwQ,EAAS3N,MAAM7C,EAAS,KACxBwQ,EAAWA,EAAS3N,MAAM,EAAG7C,EAAS,IAG9C,MAAOwQ,GAEX,OAAO,GAIf,GAAI4B,OAAQ,GAAI1R,WAEhB7B,QAAOuT,MAAQA,MAEfvT,OAAO6B,WAAaA,YAEhBL"} \ No newline at end of file diff --git a/package.json b/package.json index f00e69c8..98b4e5e3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "qiniu-js", "jsName": "qiniu", - "version": "1.0.16-beta", + "version": "1.0.16.1-beta", "private": false, "scripts": { "start": "node demo/server.js" diff --git a/src/qiniu.js b/src/qiniu.js index 5a2578ab..7d91d6fc 100644 --- a/src/qiniu.js +++ b/src/qiniu.js @@ -626,13 +626,22 @@ function QiniuJsSDK() { logger.debug("invoke reset_chunk_size()"); logger.debug("op.chunk_size: ", op.chunk_size); - // compose options with user passed options and default setting - plupload.extend(option, op, { + var defaultSetting = { url: qiniuUploadUrl, multipart_params: { token: '' } - }); + }; + var ie = that.detectIEVersion(); + // case IE 9- + // add accept in multipart params + if (ie && ie <= 9) { + defaultSetting.multipart_params.accept = 'text/plain; charset=utf-8'; + logger.debug("add accept text/plain in multipart params"); + } + + // compose options with user passed options and default setting + plupload.extend(option, op, defaultSetting); logger.debug("option: ", option); @@ -729,6 +738,13 @@ function QiniuJsSDK() { 'token': that.token }; } + var ie = that.detectIEVersion(); + // case IE 9- + // add accept in multipart params + if (ie && ie <= 9) { + multipart_params_obj.accept = 'text/plain; charset=utf-8'; + logger.debug("add accept text/plain in multipart params"); + } logger.debug("directUpload multipart_params_obj: ", multipart_params_obj); @@ -827,6 +843,14 @@ function QiniuJsSDK() { } } speedCalInfo.startTime = new Date().getTime(); + var multipart_params_obj = {}; + var ie = that.detectIEVersion(); + // case IE 9- + // add accept in multipart params + if (ie && ie <= 9) { + multipart_params_obj.accept = 'text/plain; charset=utf-8'; + logger.debug("add accept text/plain in multipart params"); + } // TODO: to support bput // http://developer.qiniu.com/docs/v6/api/reference/up/bput.html up.setOption({ @@ -837,7 +861,7 @@ function QiniuJsSDK() { 'headers': { 'Authorization': 'UpToken ' + that.token }, - 'multipart_params': {} + 'multipart_params': multipart_params_obj }); } } else {