七牛云上传图片

var imageUploadFlag = false;
      var existsImageId = "";
      var imgUploader, // 上传对象
        uploadStoreImgUrl = [], // 当前图片列表(在编辑的情况下,图片列表可能不会为空,这个变量也是作为表单上传中图片列表的参数)
        uploadSuccessList = [],  // 图片上传成功后返回的列表
        fileNameList = []; // 添加图片后的队列
      var uploader = Qiniu.uploader({
          runtimes: 'html5,flash,silverlight,html4',      // 上传模式,依次退化
          browse_button: 'pickfiles',         // 上传选择的点选按钮,必需
          uptoken : '${uptoken}', // uptoken是上传凭证,由其他程序生成
          get_new_uptoken: false,             // 设置上传文件的时候是否每次都重新获取新的uptoken
          domain: '${domain}',     // bucket域名,下载资源时用到,必需
          container: 'fileContainer',             // 上传区域DOM ID,默认是browser_button的父元素
          max_file_size: '10mb',             // 最大文件体积限制
          flash_swf_url: '../../resource/js/plupload/Moxie.swf',  //引入flash,相对路径
          silverlight_xap_url : '../../resource/js/plupload/Moxie.xap',
          max_retries: 3,                     // 上传失败最大重试次数
          dragdrop: false,                     // 开启可拖曳上传
          drop_element: 'fileContainer',          // 拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
          auto_start: false,                   // 选择文件后自动上传,若关闭需要自己绑定事件触发上传
          multiple_queues:false,
          multi_selection:true,
          filters:{mime_types:[{title:'只允许上传图片',extensions:"jpg,gif,png,jpeg"}]},
          init:{
              'FilesAdded': function(up, files) {
                // 因为需求中这个图片列表最多只能有8张,判断是否超过,超过的则移除
                    var count = files.length + uploadStoreImgUrl.length + fileNameList.length;
                    if (files.length > 8 && (uploadStoreImgUrl.length+fileNameList.length) == 0) {
                        var addLength = files.length;
                        for (var i = 0; i < addLength-8; i++) {
                            removeFile(files[i].id);
                            files.splice(i, 1);
                        }
                    }
                    if (count > 8) {
                        var addFile = files.length - (count - 10) - 1, tempLength = files.length;
                        for (var m = 0; m < addFile-8; m++) {
                            removeFile(files[m].id);
                            files.splice(m, 1);
                        }
                    }
                  imageUploadFlag = true;
                  plupload.each(files, function(file) {
                      var isAdd = true;
                      for (var i = 0; i < fileNameList.length; i++) {
                          if (file.name == fileNameList[i]) {
                                isAdd = false;
                                return false;
                            }
                    }
                      if (isAdd) {
                            fileNameList.push(file.name);
                            var preloader = new mOxie.Image();
                            preloader.onload = function() {
                            preloader.downsize( 100, 100);
                            //var imgItem = '<img id="'+file.id+'" name="'+file.name+'" src="'+preloader.getAsDataURL()+'" class="pic-thumbnail">';
                            var imgItem = $("#fsUploadProgress").append("<div id='div"+file.id+"'>"+file.name+"<a href='#' οnclick='removeFile(\""+file.id+"\")'>取消上传</a></div>");
                            var liCont = '<li style="margin-left: 8px;">'+imgItem+'<div class="icon-close close-icon"></div></li>';
                        };
                        preloader.load(file.getSource());
                    }
                  });
              },
              'BeforeUpload': function(up, file){
                // 每个文件上传前,处理相关的事情
              },
              'UploadProgress': function(up, file){
                // 每个文件上传时,处理相关的事情
              },
              'FileUploaded': function(up, file, info){
                // 查看简单反馈
                var domain = up.getOption('domain');
                var res = '';
                 if (typeof(info) == "string") {
                     res = $.parseJSON(info);
                 } else {
                     res = info.response;
                     if (typeof(res) == "string") {
                         res = $.parseJSON(res);
                     }
                 }
                 var imageurl = domain + res.key;
                 var imagekey = res.key;
                 var imagetype = file.type;
                 var imagesize = file.size;
                 var title = file.name;
                 var arr = {
                     "imageurl" : imageurl,
                     "imagekey" : imagekey,
                     "imagetype" : imagetype,
                     "imagesize" : imagesize,
                     "title" : title
                 }
                uploadStoreImgUrl.push(arr);
                uploadSuccessList.push(arr);
                $("#jsons").val(JSON.stringify(uploadSuccessList));
              },
              'Error': function(up, err, errTip){
                    //上传出错时,处理相关的事情
                    $.messager.alert("提示",errTip);
                       //上传出错时,处理相关的事情
                    $.messager.progress('close');
                    $.messager.alert("提示","图片文件上传失败");
              },
              'UploadComplete': function(){
                //队列文件处理完毕后,处理相关的事情
                if (uploadSuccessList.length == fileNameList.length) {
                    submit();
                }
              },
              'Key': function(up, file){
                // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
                // 该配置必须要在unique_names: false,save_key: false时才生效
                
                //var key = "${key}";
                //do something with key here
                var key = "";
                $.ajax({
                    url: ContextPath +'/wzmutual/seekhelp/genKey.do',
                    type: 'GET',
                    async: false,//这里应设置为同步的方式
                    success: function(data) {
                        data = subFormResultSafari(data);
                        var result = eval("("+data+")");
                        key = result.key;
                    },
                    cache: false
                });
                return key
              }
          }
      });
      
      //删除文件
      function removeFile(id){
          if (id.length>0) {
            uploader.removeFile(id);
              $("#div"+id).remove();
            }
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值