123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- ;
- (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:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:RM2Gr0eV9aQXuOY8ZdW8-xuqIWM=:eyJzY29wZSI6Imljb25zIiwiZGVhZGxpbmUiOjE0NzQ0NTE4NDkwMDAwMDAwMDB9',
- //icons:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:bvW3CgEQgS8x8B6-B-OEALUB4Hg=:eyJzY29wZSI6Imljb25zIiwiZGVhZGxpbmUiOjE0NzQ0NTEyMjEwMDAwfQ==',
- //pics:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:8oDemD47dVgyJ6PkSVGrqVbwNjw=:eyJzY29wZSI6InlpZ3VhbmppYS1waWNzIiwiZGVhZGxpbmUiOjEuNDc0NDQ1ODU5ZSsyMn0=',
- pics:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:PhjO5GeGx1VECe1W7AlqUHZrxhg=:eyJzY29wZSI6InBpY3MiLCJkZWFkbGluZSI6MTQ3NDQ1MTg0OTAwMDAwMDAwMH0=',
- //avatars:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:pHF1FKzQZlwXtJHmwsB3qO-ghnM=:eyJzY29wZSI6InlpZ3VhbmppYS1hdmF0YXJzIiwiZGVhZGxpbmUiOjEuNDc0NDQ1ODU5ZSsyNX0=',
- avatars:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:a-HCK5r5iPL8Bisb-mQLI21oZJM=:eyJzY29wZSI6ImF2YXRhcnMiLCJkZWFkbGluZSI6MTQ3NDQ1MTg0OTAwMDAwMDAwMH0=',
- //test:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:w1caW6Bxg-_SyTJQSgDENmsTEtM=:eyJzY29wZSI6InlpZ3VhbmppYS10ZXN0IiwiZGVhZGxpbmUiOjEuNDc0NDQ1ODU5ZSsyMn0=',
- test:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:kPiwYRwhAt8ULIMxphH8Hbgs6Mk=:eyJzY29wZSI6InRlc3QiLCJkZWFkbGluZSI6MTQ3NDQ0NTg1OTAwfQ==',
- //video:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:hauyYF_p1mGoIkuIA3C74u5cdVo=:eyJzY29wZSI6InlpZ3VhbmppYS12aWRlbyIsImRlYWRsaW5lIjoxLjQ3NDQ0NTg1OWUrMjV9'
- video:'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr:on3HAIABM-iYVHVJwX47onvMj_A=:eyJzY29wZSI6InZpZGVvIiwiZGVhZGxpbmUiOjE0NzQ0NTE4NDkwMDAwMDAwMDB9'
- },
- url_prefix:{
- pics:'http://pics.yiguanjia.club',
- avatars:'http://avatar.yiguanjia.club',
- //icons:'http://odug4508u.bkt.clouddn.com',
- icons:'http://icon.yiguanjia.club',
- //test:'http://odufxpjo7.bkt.clouddn.com',
- test:'http://test.yiguanjia.club',
- video:'http://video.yiguanjia.club'
- }
- }
- 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.club'){
- 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('<input type="file" id="file'+time+'" name="file" style="height: '+height+'px;left: -'+width+'px;opacity: 0;position: relative;display: inline;top: 0;width: '+width+'px;">');
- $('#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;
- // }
- console.log(arguments);
- var args = arguments[1];
- // debugger;
- return new Qiniu(args);
- }
- })(jQuery);
|