; (function ($) { var Qiniu = function (args) { this.defaults = { button:"#qiniu_uploader", qiniu_upload_url : 'http://up.qiniu.com', bucket:'', token:'', //token:'JJO5vl65dPW0Jqq2PJCKVq_s1TZToNHbyltRZF5Z:uxXRiYFI6TVNEzg8SbZL5JgOXsQ=:eyJzY29wZSI6Indvemh1YS1pY29ucyIsImRlYWRsaW5lIjoyOTg4ODU5MzUxfQ==', before_upload:function(){return true;},//上传之前调用的函数 各种判断和验证 success_callback:function(result){},//上传成功之后的回调 fail_callback:function(){}//上传失败之后的回调 } this.privateVal = { token:{ icons:'JJO5vl65dPW0Jqq2PJCKVq_s1TZToNHbyltRZF5Z:pFpWMw2POFH5bQ5JEkbpfj8JtAI=:eyJzY29wZSI6Indvemh1YS1pY29ucyIsImRlYWRsaW5lIjoyOTkwMDc1MzQ0fQ==', pics:'JJO5vl65dPW0Jqq2PJCKVq_s1TZToNHbyltRZF5Z:iU_Cu9uPM6gGAL4KxuAEU4dN6kM=:eyJzY29wZSI6Indvemh1YS1waWNzIiwiZGVhZGxpbmUiOjI5OTAwNzU0MjV9', avatars:'JJO5vl65dPW0Jqq2PJCKVq_s1TZToNHbyltRZF5Z:8zC6c7749vXkIM2kcoZaDi8zQ4U=:eyJzY29wZSI6Indvemh1YS1hdmF0YXJzIiwiZGVhZGxpbmUiOjI5OTAwNzU1MTN9', test:'JJO5vl65dPW0Jqq2PJCKVq_s1TZToNHbyltRZF5Z:yNDn75FCU8vu9sMsaiDzxC7CHj0=:eyJzY29wZSI6Indvemh1YS10ZXN0IiwiZGVhZGxpbmUiOjI5OTAwNzU1NTZ9', // video:'JJO5vl65dPW0Jqq2PJCKVq_s1TZToNHbyltRZF5Z:1IRu2w_tW56oFpVE_K9BHDbuDjU=:eyJzY29wZSI6Indvemh1YS12aWRlbyIsImRlYWRsaW5lIjoxODA1MzIyMjkwfQ==' video:'JJO5vl65dPW0Jqq2PJCKVq_s1TZToNHbyltRZF5Z:2gdqkV58YGMfGe3XqRPTjmUudwg=:eyJzY29wZSI6Indvemh1YS12aWRlbyIsImRlYWRsaW5lIjoxODQ1NTY2NDQ4fQ==' }, url_prefix:{ pics:'http://7oxep5.com2.z0.glb.clouddn.com', avatars:'http://7o52dq.com2.z0.glb.clouddn.com', icons:'http://7oxep6.com2.z0.glb.clouddn.com', test:'http://7oxj0w.com2.z0.glb.clouddn.com', video:'http://7rfl3z.com2.z0.glb.qiniucdn.com' } } this.init(args) }; Qiniu.prototype.init= function(args) { var options = $.extend(this.defaults, args); console.log('---------methodsoptions', options); var host = document.domain; if(host=='admin.yiguanjiadev.me' || host=='admintest.yiguanjia.me'){ options.bucket = 'test'; } options.token = this.privateVal.token[options.bucket]; this.create_items(options); } Qiniu.prototype.create_items = function(options){ var that = this; if($(options.button)){ var width = $(options.button).width(), height = $(options.button).height(), time = new Date().getTime(); $(options.button).after(''); $('#file'+time).on('change',function(e){ var result = options.before_upload(); if(result){ if ($(this)[0].files && $(this)[0].files.length > 0) { // 上传文件大小检查 // if ($(this)[0].files[0].size > 102400) { // $.messager.alert('提示', '上传的文件太大了噢', 'warning'); // $.messager.progress('close'); // video_count = 0; // return false; // } that.qiniu_upload($(this)[0].files[0], options); } } }) }else{ console.log('元素不存在'); return false; } } Qiniu.prototype.qiniu_upload = function(f, options) { var that = this; var xhr = new XMLHttpRequest(); xhr.open('POST', options.qiniu_upload_url, true); //xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=------WebKitFormBoundary7S6LNB4lnXhKZt1I"); //xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); var formData, startDate; formData = new FormData(); formData.append('token', options.token); formData.append('file', f); var name = f.name; var point = name.lastIndexOf('.'), type = name.substr(point), key = Math.random().toString(16).substring(2) + (+new Date()) + type; formData.append('key', key); xhr.onreadystatechange = function(response) { if (xhr.readyState == 4 && xhr.status == 200 && xhr.responseText != "") { var blkRet = JSON.parse(xhr.responseText); blkRet.url = that.privateVal.url_prefix[options.bucket]+'/'+blkRet.key; //console && console.log(blkRet); // console.log(blkRet) options.success_callback(blkRet); } else if (xhr.status != 200 && xhr.responseText) { options.fail_callback(); } }; $("#progressbar").show(); xhr.send(formData); } $.fn.qiniu_upload_single = function() { var method = arguments[0]; // if(Qiniu[method]) { // method = Qiniu[method]; // } else if( typeof(method) == 'object' || !method ) { // method = Qiniu.init; // } else { // return this; // } var args = arguments[1]; // debugger; return new Qiniu(args); } })(jQuery);