webuploader 设置上传数量
function onpost_Echo_ndkh2(serverURL,fileType,pickerID,listName,doneback,type){//上传路径,上传文件分类,选择框ID,文件列表ID,成功后向doneback的父级插入文件图标,文件类型 var uploader = WebUploader.create({ // swf文件路径 swf: rootPath+'/js/webuploader/Uploader.swf', // 文件接收服务端。 server: serverURL+"?pinfoId="+jQuery('#signupId').val()+"&infoId="+jQuery("input[name='assessList[0].id']").val()+"&attId="+jQuery("input[name='assessList[0].attid']").val()+"&add="+jQuery('#add').val()+"&fileType="+fileType+"&time="+new Date().getTime()+jsessionParam, // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: "#"+pickerID, //有文件就开始上传 auto: true, method: 'post', //设置文件上传域的name fileVal:'filedata', fileNumLimit: 3, fileSingleSizeLimit: 3*1024*1024, //设置文件上传格式 accept:{ extensions:type}, //设置flash模式 //runtimeOrder:'flash', // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false });
//设置数量开始 var flag=true; var count = $(".scqt1class").length; uploader.on('beforeFileQueued',function (file) {debugger; count =$(".scqt1class").length; //实时获得上传限制的文件总数 var max = this.options.fileNumLimit; if ( count >= max && flag ) { flag = false; this.trigger( 'error', 'Q_EXCEED_NUM_LIMIT', max, file ); setTimeout(function() { flag = true; }, 1 ); } return count >= max ? false : true; });
uploader.on( 'fileDequeued', function() {
count--;
});
uploader.on( 'reset', function() {
// count = 0;
});
//设置数量结束
// 当有文件被添加进队列的时候 uploader.on( 'fileQueued', function( file ) { count++; var $list = $("#"+listName); $list.append( '<div id="' + file.id + '" class="item">' + '<h4 class="info">' + file.name + '</h4>' + '<p class="state">等待上传...</p>' + '</div>' ); }); // 文件上传过程中创建进度条实时显示。 uploader.on( 'uploadProgress', function( file, percentage ) { var $li = $( '#'+file.id ), $percent = $li.find('.progress .progress-bar'); // 避免重复创建 if ( !$percent.length ) { $percent = $('<div class="progress progress-striped active">' + '<div class="progress-bar" role="progressbar" style="width: 0%;height:5px;background:#ccc;">' + '</div>' + '</div>').appendTo( $li ).find('.progress-bar'); } $li.find('p.state').text('上传中'); $percent.css( 'width', percentage * 100 + '%' ); }); //成功之后调用 uploader.on( 'uploadSuccess', function( file ,response) { //上传成功后将文件图标显示到右侧列表 EchoImgNoscqt1(response,doneback); }); uploader.on( 'uploadError', function( file ,reason ) { $( '#'+file.id ).find('p.state').text('上传出错'); alert(file.name+"上传出错"); }); uploader.on( 'uploadComplete', function( file ) { //$( '#'+file.id ).find('.progress').fadeOut(); //上传完成后将文件名从列表删除 $( '#'+file.id ).fadeOut(); }); uploader.on("uploadFinished", function () { //每一次上传完成后清空文件队列,防止不能上传重复文件 uploader.reset(); }) uploader.on("error", function (error) { if (error == "F_EXCEED_SIZE") { alert("文件大小不能超过3M"); }else if( error == "Q_TYPE_DENIED" ){ alert("文件类型必须为"+type); }else if( error == "Q_EXCEED_NUM_LIMIT" ){ alert("文件数量不超过3篇"); } }); }
不忘初心 方得始终