对uploadify的再次封装,包括修改按钮样式和上传提示信息

( function ($){
     var  setting = {
         actionUrl   : "" ,
         multi       : false ,
         fileTypeDesc: "任意格式" ,
         fileTypeExts: "*.*" ,
         entityName   : ""
     };
     function  uploadify_onSelectError(file, errorCode, errorMsg) {
         var  msgText =  "上传失败<br/>" ;
         switch  (errorCode) {
             case  SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
                 msgText +=  "每次最多上传 3个文件" ;
                 break ;
             case  SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
                 msgText +=  "文件大小超过限制( "  this .settings.fileSizeLimit +  " )" ;
                 break ;
             case  SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
                 msgText +=  "文件大小为0" ;
                 break ;
             case  SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
                 msgText +=  "文件格式不正确,仅限 "  this .settings.fileTypeExts;
                 break ;
             default :
                 msgText +=  "错误代码:"  + errorCode +  "\n"  + errorMsg;
         }
         var  data = {state: "400" ,title: "上传过程出错" ,message:msgText};
         _show(data);
     };
     function  uploadify_onUploadError(){
         if  (errorCode == SWFUpload.UPLOAD_ERROR.FILE_CANCELLED
             || errorCode == SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {
             return ;
         }
         var  msgText =  "上传失败<br/>" ;
         switch  (errorCode) {
             case  SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
                 msgText +=  "HTTP 错误\n"  + errorMsg;
                 break ;
             case  SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
                 msgText +=  "上传文件丢失,请重新上传" ;
                 break ;
             case  SWFUpload.UPLOAD_ERROR.IO_ERROR:
                 msgText +=  "IO错误" ;
                 break ;
             case  SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
                 msgText +=  "安全性错误\n"  + errorMsg;
                 break ;
             case  SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
                 msgText +=  "每次最多上传 "  this .settings.uploadLimit +  "个" ;
                 break ;
             case  SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
                 msgText += errorMsg;
                 break ;
             case  SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
                 msgText +=  "找不到指定文件,请重新操作" ;
                 break ;
             case  SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
                 msgText +=  "参数错误" ;
                 break ;
             default :
                 msgText +=  "文件:"  + file.name +  "\n错误码:"  + errorCode +  "\n"
                 + errorMsg +  "\n"  + errorString;
         }
         var  data = {state: "400" ,title: "上传过程出错" ,message:msgText};
         _show(data);
         return  parameters;
     }
     //执行删除操作
 
     var  methods = {
         init: function (options){
             return  this .each( function (){
                 var  o =$.extend(o, setting);
                 if  (options) $.extend(o,options);
                 var  divMsg =  '<div id="import_message_alert' + o.entityName+ '"></div>' ;
                 var  inputMsg =  '<input id="' + o.entityName+ '" name="' +o.entityName+ '"type="hidden"/>' ;
                 var  ol =  '<ol id="' + o.entityName+ '" class="dd-list"></ol>'
                 $( this ).parent().append(inputMsg).append(divMsg).append(ol);
             });
         },
         upload: function (options){
 
             return  this .each( function (){
                 var  o =$.extend(o, setting);
                 if  (options) $.extend(o,options);
 
                 var  resultMsg =  '<div id="resultMsg' + o.entityName+ '" class="alert alert-info"><button class="close" data-dismiss="alert">×</button><i class="fa-fw fa fa-info"></i></div>' ;
 
                 $( this ).uploadify({
                     height         : 30,
                     buttonClass     :  "btn btn-primary" ,
                     multi           : o.multi,
                     fileSizeLimit   :  '2MB' ,
                     fileDataName    :  'uploadify' ,
                     progressData    :  'percentage' ,
                     fileTypeDesc  : o.fileTypeDesc,
                     fileTypeExts    : o.fileTypeExts,
                     buttonText      :  '选择上传文件' ,
                     swf             :  '../resource/com/js/plugin/uploadify/uploadify.swf' ,
                     uploader        : o.actionUrl,
                     width           : 140,
                     uploadLimit     : 3,
                     overrideEvents  :[ 'onDialogClose' , 'onSelectError' , 'onUploadError' ],
                     onUploadStart   : function (file){
                         $( "#import_message_alert" + o.entityName).empty();
                         var  result =  '<strong>正在努力为您上传!</strong>' +file.name+ ' 请耐心等待...' ;
                         $( "#import_message_alert" + o.entityName).append(resultMsg);
                         $( "#resultMsg" ).append(result);
                     },
                     onInit          : function (){
                         $( "div#" +$( this ).attr( "id" )+ "-button" ).removeClass( "uploadify-button" );
                     },
                     onUploadError   : uploadify_onUploadError,
                     onSelectError   : uploadify_onSelectError,
                     onUploadSuccess :  function (file, data, response) {
                         $( "#import_message_alert" + o.entityName).empty();
                         var  json = jQuery.parseJSON(data);
                         if (json && json.state ==  "200" ){
                             var  result =  '<strong>上传成功!</strong>' ;
                             $( "#import_message_alert" + o.entityName).append(resultMsg);
                             $( "#resultMsg" + o.entityName).append(result);
                             var  hidObj = $( "input#" + o.entityName);
                             hidObj.val()== "" ?hidObj.val(json.fileId):hidObj.val(hidObj.val()+ "," +json.fileId);
 
                             var  li =  '<li  class="dd-item"><div class="dd-handle" style="cursor:pointer"><i class="fa fa-ils fa-lg text-success"></i>' +json.name+ '<div class="pull-right" id="' +json.fileId+ '"></div></div></li>' ;
                             var  downBtn =  '<a id="' +json.fileId+ '" class="btn btn-info  btn-xs" href="' +json.url+ '"><i class="fa fa-lg fa-cloud-download"></i>下载</a>' ;
                             var  delBtn =  '<a id="' +json.fileId+ '" key="del" class="btn btn-danger  btn-xs"><i class="fa fa-lg fa-trash"></i>删除</a>' ;
 
 
                             $( "ol#" +o.entityName).append(li)
                             $( "div#" +json.fileId).append(downBtn).append(delBtn);
                             $( "#import_message_alert" + o.entityName).fadeIn();
                             $( "#import_message_alert" + o.entityName).fadeOut(7000);
                         } else {
                             var  result =  '<strong>上传失败!</strong>' ;
                             $( "#import_message_alert" + o.entityName).append(resultMsg);
                             $( "#resultMsg" + o.entityName).append(result);
                         }
                     }
                 });
 
             });
         },
         fileList: function (options){
             var  oFileOpt = {
                 keyId: ""
             }
             return  this .each( function (){
                 var  o =$.extend(o, setting);
                 if  (options)
                     $.extend(o,oFileOpt, options);
                 var  pdata = {keyId: o.keyId}
                 $.ajax({
                     url :  "ajax!fileList.action" ,
                     method: "post" ,
                     cache :  false ,
                     dataType :  "json" ,
                     async :  false ,
                     data : pdata,
                     success :  function (data) {
                         if (data.num>0){
                             var  json = data.dataRows;
                             var  hidObj = $( "input#" + o.entityName);
 
                             $(data.dataRows).each( function (i,json){
                                 var  li =  '<li  class="dd-item"><div class="dd-handle" style="cursor:pointer"><i class="fa fa-ils fa-lg text-success"></i>' +json.name+ '<div class="pull-right" id="' +json.fileId+ '"></div></div></li>' ;
                                 var  downBtn =  '<a id="' +json.fileId+ '" class="btn btn-info  btn-xs" href="' +json.url+ '"><i class="fa fa-lg fa-cloud-download"></i>下载</a>' ;
                                 var  delBtn =  '<a id="' +json.fileId+ '" key="del" class="btn btn-danger  btn-xs"><i class="fa fa-lg fa-trash"></i>删除</a>' ;
 
                                 $( "ol#" +o.entityName).append(li);
                                 $( "div#" +json.fileId).append(downBtn).append(delBtn);
 
                                 hidObj.val()== "" ?hidObj.val(json.fileId):hidObj.val(hidObj.val()+ "," +json.fileId);
                             });
 
                         }
                     }
                 });
             });
         }
     };
 
 
     $.fn.upload =  function ( method ) {
         if  ( methods[method] ) {
             return  methods[method].apply(  this , Array.prototype.slice.call( arguments, 1 ));
         else  if  typeof  method ===  'object'  || ! method ) {
             return  methods.init.apply(  this , arguments );
         else  {
             $.error(  'Method '  +  method +  ' does not exist on jQuery.multiselect2side'  );
         }
     };
})(jQuery);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值