美文网首页
关于lrz压缩插件批量上传图片的问题

关于lrz压缩插件批量上传图片的问题

作者: a_chuang | 来源:发表于2017-10-31 14:04 被阅读0次

    思路:将lrz压缩后的结果用数组先装起来,然后来个定时器,循环判断lrz是否已经异步压缩完图片,及判断数组的长度是否和上传的图片个数一致,一致在用ajax批量上传

            var baseArray =[];
            var fileOriginNameArray =[];
            for(var i=0;i<fileList.length;i++){
                if(fileList[i]!=null){
                    lrz(fileList[i], {width: 800})
                    .then(function (rst) {
                        baseArray.push(rst.base64);
                        fileOriginNameArray.push(rst.origin.name);
                    })
                    .catch(function (err) {
                        // 处理失败会执行
                    })
                    .always(function () {
                        // 不管是成功失败,都会执行
                    });
                }
            }
    
        var timer = setInterval(function(){    //开启定时器
                
                if(baseArray.length>0&&baseArray.length==fileNumber){
                    formData.append('base', baseArray.join("&"));
                    formData.append('fileOriginName', fileOriginNameArray.join("&"));
                    console.log(baseArray);
                     if(uploadUrl!="#"&&uploadUrl!=""){
                            uploadTools.disableFileUpload(opt);//禁用文件上传
                            uploadTools.disableCleanFile(opt);//禁用清除文件
    
                            $.ajax({
                                type:"post",
                                url:uploadUrl,
                                data:formData,
                                processData : false,
                                contentType : false,
                                success:function(data){
                                    setTimeout(function(){opt.onUpload(opt,data)},500);
                                    if(!opt.showSummerProgress&&opt.isAutoClean){
                                        setTimeout(function () {uploadEvent.cleanFileEvent(opt);},2000) ;
                                    }
                                },
                                error:function(e){
    
                                }
                            });
    
                        }else{
                            uploadTools.disableFileUpload(opt);//禁用文件上传
                            uploadTools.disableCleanFile(opt);//禁用清除文件
                        }
                    
                     clearInterval(timer);    //清除定时器
                }
                   
             
            },300);   
    

    相关文章

      网友评论

          本文标题:关于lrz压缩插件批量上传图片的问题

          本文链接:https://www.haomeiwen.com/subject/jprbpxtx.html