標籤:
Uploadify是一款基於Jquery的上傳外掛程式,用起來很方便。但上傳過程中的提示言為英文,這裡整理下如何修改英文為中文提示。
方法1:直接修改uploadify.js中的提示資訊,將英文提示改成對應的中文。不過從軟體設計的角度來說,直接修改原類庫不是最好的解決方案,會影響到軟體的升級。
方法2:重寫Uploadify事件
‘overrideEvents‘ : [ ‘onDialogClose‘, ‘onUploadError‘, ‘onSelectError‘ ]
當重寫onDialogClose事件後,Uploadify的錯誤提示資訊就都不會提示了。提示資訊可直接自訂彈出。
重寫事件errorCode的定義在js庫中都可以找到。也可以直接用this.queueData.errorMsg來改變提示資訊
[javascript] view plaincopy
- var uploadify_onSelectError = function(file, errorCode, errorMsg) {
- var msgText = "上傳失敗\n";
- switch (errorCode) {
- case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
- //this.queueData.errorMsg = "每次最多上傳 " + this.settings.queueSizeLimit + "個檔案";
- msgText += "每次最多上傳 " + this.settings.queueSizeLimit + "個檔案";
- 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;
- }
- alert(msgText);
- };
-
- var uploadify_onUploadError = function(file, errorCode, errorMsg, errorString) {
- // 手工取消不彈出提示
- if (errorCode == SWFUpload.UPLOAD_ERROR.FILE_CANCELLED
- || errorCode == SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {
- return;
- }
- var msgText = "上傳失敗\n";
- 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;
- }
- alert(msgText);
- }
- return parameters;
- }
-
- var uploadify_onSelect = function(){
-
- };
-
- var uploadify_onUploadSuccess = function(file, data, response) {
- alert(file.name + "\n\n" + response + "\n\n" + data);
- };
- var uploadify_config = {
- ‘uploader‘ : ‘upload.php‘,
- ‘swf‘ : ‘/js/uploadify/uploadify.swf‘,
- ‘buttonImage‘ : ‘/images/uploadify-button.png‘,
- ‘cancelImg‘ : ‘/images/uploadify-cancel.png‘,
- ‘wmode‘ : ‘transparent‘,
- ‘removeTimeout‘ : 0,
- ‘width‘ : 80,
- ‘height‘ : 30,
- ‘multi‘ : false,
- ‘auto‘ : true,
- ‘buttonText‘ : ‘上傳‘,
- ‘hideButton‘ : ‘true‘,
- ‘fileTypeExts‘ : ‘*.png;*.jpg;*.jpeg‘,
- ‘fileSizeLimit‘ : ‘1MB‘,
- ‘fileTypeDesc‘ : ‘Image Files‘,
- ‘formData‘ : {"action": "upload", "sid" : ""},
- ‘overrideEvents‘ : [ ‘onDialogClose‘, ‘onUploadSuccess‘, ‘onUploadError‘, ‘onSelectError‘ ],
- ‘onSelect‘ : uploadify_onSelect,
- ‘onSelectError‘ : uploadify_onSelectError,
- ‘onUploadError‘ : uploadify_onUploadError,
- ‘onUploadSuccess‘ : uploadify_onUploadSuccess
- };
-
- $("#id").uploadify(uploadify_config);
說明:由於FLASH的BUG導致在FF中上傳時擷取不到SESSION,可以使用formData來傳值,如:
[php] view plaincopy
- formData : {‘<?php echo session_name();?>‘ : ‘<?php echo session_id();?>‘ }
官網說明地址:http://www.uploadify.com/documentation/uploadify/using-sessions-with-uploadif
Uploadify自訂提示資訊