jquery fileupload 文件上传 使用记录

$(function () {
         $('#fileupload').fileupload({
            dropZone: //拖拽区域
        });
       
        $("#content").focus();
       // data-url="../upload_server.php?rid=<?=$room_id?>&uid=<?=$user_id?>"
        $('#fileupload').fileupload({
             maxChunkSize: 10000000,//分块上传
             retryTimeout: 8000,//重试时间
            dataType: 'json',
              dropZone: $(this),
            processQueue: [{
            action: 'validate',
            maxNumberOfFiles: 1,
        }],
            sequentialUploads: true,//按顺序单个文件上传
           // url: '',//配置服务器端处理入口
           //chunksend: function(e,data){console.log(data);},
           chunkfail: function(e,data){//大文件分块上传失败
            if(data.textStatus == 'abort'){
               
            }
           },
            add: function (e, data) {
               $md5_id = uniqueId();
                var url = "../upload_server.php?rid=<?=$room_id?>&uid=<?=$user_id?>&md5_id="+$md5_id;
                $(this).fileupload('option', 'url', url); //配置服务器端脚本处理入口链接
                $(this).fileupload('option', 'md5_id', $md5_id);//自定义md5_id参数
                var nG = 1024*1024*1024;
                var isSize = data.files[0].size / nG;
                if(isSize > 1){
                    //如果添加的文件大于设定大小返回提示信息
                    $("#chat-show").append(str);
                    $("#chat-show").scrollTop($("#chat-show")[0].scrollHeight);
                    return;
                }
                //所选上传文件信息显示在正在上传区域
                console.log(data.files);查看上传文件信息
                data.files[0].name//文件名
                data.files[0].size//文件大小
                $md5_id//文件上级目录名字
                
                //提交开始上传
                var jqXHR = data.submit()
                .success(function (result, textStatus, jqXHR) {})
                .error(function (jqXHR, textStatus, errorThrown) {
                    if(textStatus != 'abort'){
                         //上传失败
                    }else{
                       // console.log(jqXHR, textStatus, errorThrown);
                    }
               })
                .complete(function (result, textStatus, jqXHR) {
                //上传完成
                   if(result){
                        if(result.statusText == 'abort'){

                       }
                        if(result.files){
                        console.log(result.files[0]);//查看上传文件信息
                        result.files[0].name//文件上传名字
                        result.files[0].url//文件上传链接
                        result.files[0].size//文件上传大小
                          if(result.responseJSON){
                                if(result.responseJSON.files)
                               {
                                 $.each(result.responseJSON.files,function(i,n){
                                    if($("#file-ing-"+n.md5_dir)){
                                       $("#file-ing-"+n.md5_dir).html('');
                                    }
                                });
                               }
                          }
                       }
                   }
                    
                });
                jqXHR.uploadId=$md5_id; //添加上传唯一id
                data.jqXHR.uploadId=$md5_id;//添加上传唯一id
                //取消某一文件上传处理
                $(".file-handle-cancel").click(function(e){
                    var objCancel = eval('('+e.target.dataset.options+')');
                    if(objCancel.md5Id == jqXHR.uploadId){
                         data.jqXHR.abort();
                         return;
                    }
                   
                });
            },
            //singleFileUploads:false,
            //上传进度条
             progress: function (e, data) {
                var progress = parseInt(data.loaded / data.total * 100, 10);
                //$('#progress-'+$md5_id+' .bar').css(
                $('#progress-'+data.md5_id+' .bar').css(
                    'width',
                    progress + '%'
                );
            },
            //上传成功
            done: function (e, data) {
                $.each(data.result.files, function (index, file) {
                    var to_client_id = $("#reply_to_id").val();
                    var to_client_name = $("#reply_to_name").val();
                    var user_avatar = '<?=$user_avatar?>';
                    ws.send('{"type":"say","user_avatar":"'+user_avatar+'","to_client_id":"'+to_client_id+'","to_client_name":"'+to_client_name+'","md5_id":"'+data.md5_id+'","is_file":"1","file_name":"'+file.name+'","file_type":"'+file.type+'","file_url":"'+file.url+'","file_size":"'+file.size+'"}');
                });
            },
            send: function(e,data){
            },
            fail: function(e,data){

                if(data.textStatus == 'error'){
                //上传失败,网络错误重试
                    if(timeUploadFail){
                        clearTimeout(timeUploadFail);
                    }
                    timeUploadFail = setTimeout(function(){
                        data.submit();
                    },8000);

                }else{
                //取消上传
                    $("#file-ing-"+data.md5_id).html('');
                     $.ajax({
                        type:'POST',
                        url:''+data.url+'&file_del=1&filename='+data.files[0].name+'.bin',
                       /* success:function(res){
                           alert(res);
                        }*/
                    });
                }
            }
        });

    });

猜你喜欢

转载自blog.csdn.net/u011504963/article/details/81875221