webuploaderアップロードで発生した問題

3381 ワード

ファイルアップロードスペースwebuploader+jqueryは、オープンソースで使いやすいです.しかし、使用中にいくつかの問題が発生しました.
に質問
1.複数の画像をアップロードすると、画像の順番が乱れてしまいます.解決策threads:1
2.ファイルが元の割合でアップロードされていない場合、1 M以上のファイルは圧縮され、解決方法compress:false
3.ファイル選択時のブラウザの反応が鈍く、解決方法:accept:{title:'Images',extensions:“gif,jpg,jpeg,png”,mimeType:“.gif,.jpg,.jpeg,.png”}
4.ieブラウザ、ファイルのアップロードに失敗しました.「swf」かもしれません.定義されたファイルパスが間違っています.
ieブラウザはflashモードでファイルをアップロードします.
var fileCount=0;
var fileSize=0;
var uploader;
var errorarr=new Array();
function initFile(){
	uploader = WebUploader.create({
		auto: true,
		// swf    
		swf : '/ueditor/third-party/webuploader/Uploader.swf',
		//        。
		server : "upFiles.do",
		//        。  。
		//            ,   input  ,    flash.
		pick : '#filePicker',
		//    image,      jpeg,             !
		//resize : false,//      ,  compress
		compress: false,//webuploader      ,  compress:false,            
		accept: {
	        title: 'Images',
	        extensions: "gif,jpg,jpeg,png",	        
	        mimeTypes: ".gif,.jpg,.jpeg,.png"//  WebUploader             ,       ,       ,            
	      
	    },	    
	    fileVal:"upfile",//        name。
	    fileSizeLimit:500 * 1024 * 1024,//           ,    
		fileSingleSizeLimit:2 * 1024 * 1024,//          ,    	
		fileNumLimit:20,//        
	    threads:1//     。           ,          
	});
	/*            。
	@param file File  
	@param ret         
	*/
	uploader.on('uploadSuccess', function (file, ret) {
        var $file = $('#' + file.id);
       try {            
            if (ret.state == 'SUCCESS') {            	
	    		var json={};
	    		json.dataid=ret.picId;
	    		json.src=ret.url;   
	    		json.width=ret.width;
	    		json.height=ret.height;
	    		if(!putPicMap(json)){//      
	    			return false;
	    		}
	    		
            }else {
                //console.log("faile","aa");
            }
        } catch (e) {
            //console.log("faile","bb");
        }
    });
	/**
	*      
	*code=F_DUPLICATE       
	**/
	 uploader.on('error', function (code, file) {
		 var name=file.name;
		 var str="";
		 switch(code){
		 case "F_DUPLICATE":
			 str=name+"    ";
			 errorarr.push(str);
			 break;
		 case "Q_TYPE_DENIED":
			 str=name+"        ";
			 errorarr.push(str);
			 break;
		 case "F_EXCEED_SIZE":				
			var imageMaxSize = 9;//    
			str=name+"        "+imageMaxSize+"M"; 
			errorarr.push(str); 
			break; 
		 case "Q_EXCEED_SIZE_LIMIT":
			 errorarr.push("        ");
			
         	 break;
		 case "Q_EXCEED_NUM_LIMIT":
			 errorarr.push("  ,            ");			 
			 
         default:
        	 str=name+" Error:"+code;
		 }
		
     });	
	 uploader.on( 'all', function( type, arg1, arg2 ) {
	    if(type=="startUpload"){//    
	    	uploadchange();
	    }else if(type=="uploadFinished"){//    
	    	if(errorarr.length>0){
	    		alert(errorarr.join("
")); } // errorarr.length=0; } }); } /** * , , */ function uploadchange(){ // , /* GET */ uploader.option('server', "upFiles.do?aa=3"); }