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篇"); } }); }