Uploadify自定义提示信息

转自:http://pengbotao.cn/uploadify-tips.html 特此感谢

版本:Uploadify Version 3.2
官网:http://www.uploadify.com

Uploadify是一款基于Jquery的上传插件,用起来很方便。但上传过程中的提示语言为英文,这里整理下如何修改英文为中文提示。
方法1:直接修改uploadify.js中的提示信息,将英文提示改成对应的中文。不过从软件设计的角度来说,直接修改原类库不是最好的解决方案,会影响到软件的升级。

方法2:重写Uploadify事件
'overrideEvents' : [ 'onDialogClose', 'onUploadError', 'onSelectError' ]
当重写onDialogClose事件后,Uploadify的错误提示信息就都不会提示了。提示信息可直接自定义弹出。

重写事件errorCode的定义在js库中都可以找到。也可以直接用this.queueData.errorMsg来改变提示信息

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var uploadify_onSelectError = function(file, errorCode, errorMsg) {  
  2.         var msgText = "上传失败\n";  
  3.         switch (errorCode) {  
  4.             case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:  
  5.                 //this.queueData.errorMsg = "每次最多上传 " + this.settings.queueSizeLimit + "个文件";  
  6.                 msgText += "每次最多上传 " + this.settings.queueSizeLimit + "个文件";  
  7.                 break;  
  8.             case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:  
  9.                 msgText += "文件大小超过限制( " + this.settings.fileSizeLimit + " )";  
  10.                 break;  
  11.             case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:  
  12.                 msgText += "文件大小为0";  
  13.                 break;  
  14.             case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:  
  15.                 msgText += "文件格式不正确,仅限 " + this.settings.fileTypeExts;  
  16.                 break;  
  17.             default:  
  18.                 msgText += "错误代码:" + errorCode + "\n" + errorMsg;  
  19.         }  
  20.         alert(msgText);  
  21.     };  
  22.    
  23. var uploadify_onUploadError = function(file, errorCode, errorMsg, errorString) {  
  24.         // 手工取消不弹出提示  
  25.         if (errorCode == SWFUpload.UPLOAD_ERROR.FILE_CANCELLED  
  26.                 || errorCode == SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {  
  27.             return;  
  28.         }  
  29.         var msgText = "上传失败\n";  
  30.         switch (errorCode) {  
  31.             case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:  
  32.                 msgText += "HTTP 错误\n" + errorMsg;  
  33.                 break;  
  34.             case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:  
  35.                 msgText += "上传文件丢失,请重新上传";  
  36.                 break;  
  37.             case SWFUpload.UPLOAD_ERROR.IO_ERROR:  
  38.                 msgText += "IO错误";  
  39.                 break;  
  40.             case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:  
  41.                 msgText += "安全性错误\n" + errorMsg;  
  42.                 break;  
  43.             case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:  
  44.                 msgText += "每次最多上传 " + this.settings.uploadLimit + "个";  
  45.                 break;  
  46.             case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:  
  47.                 msgText += errorMsg;  
  48.                 break;  
  49.             case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:  
  50.                 msgText += "找不到指定文件,请重新操作";  
  51.                 break;  
  52.             case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:  
  53.                 msgText += "参数错误";  
  54.                 break;  
  55.             default:  
  56.                 msgText += "文件:" + file.name + "\n错误码:" + errorCode + "\n"  
  57.                         + errorMsg + "\n" + errorString;  
  58.         }  
  59.         alert(msgText);  
  60.     }  
  61.     return parameters;  
  62. }  
  63.    
  64. var uploadify_onSelect = function(){  
  65.    
  66. };  
  67.    
  68. var uploadify_onUploadSuccess = function(file, data, response) {  
  69.     alert(file.name + "\n\n" + response + "\n\n" + data);  
  70. };  
  71. var uploadify_config = {  
  72.     'uploader' : 'upload.php',  
  73.     'swf' : '/js/uploadify/uploadify.swf',  
  74.     'buttonImage' : '/images/uploadify-button.png',  
  75.     'cancelImg' : '/images/uploadify-cancel.png',  
  76.     'wmode' : 'transparent',  
  77.     'removeTimeout' : 0,  
  78.     'width' : 80,  
  79.     'height' : 30,  
  80.     'multi' : false,  
  81.     'auto' : true,  
  82.     'buttonText' : '上传',  
  83.     'hideButton' : 'true',  
  84.     'fileTypeExts' : '*.png;*.jpg;*.jpeg',  
  85.     'fileSizeLimit' : '1MB',  
  86.     'fileTypeDesc' : 'Image Files',  
  87.     'formData' : {"action": "upload", "sid" : ""},  
  88.     'overrideEvents' : [ 'onDialogClose', 'onUploadSuccess', 'onUploadError', 'onSelectError' ],  
  89.     'onSelect' : uploadify_onSelect,  
  90.     'onSelectError' : uploadify_onSelectError,  
  91.     'onUploadError' : uploadify_onUploadError,  
  92.     'onUploadSuccess' : uploadify_onUploadSuccess  
  93. };  
  94.    
  95. $("#id").uploadify(uploadify_config);  


说明:由于FLASH的BUG导致在FF中上传时获取不到SESSION,可以使用formData来传值,如:

[php] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. formData : {'<?php echo session_name();?>' : '<?php echo session_id();?>' }  


官网说明地址:http://www.uploadify.com/documentation/uploadify/using-sessions-with-uploadif

posted @ 2014-07-02 16:17  xhqgogogo  阅读(416)  评论(0编辑  收藏  举报