zoukankan      html  css  js  c++  java
  • Uploadify上传问题

    版本: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来改变提示信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    var uploadify_onSelectError = function(file, errorCode, errorMsg) {
            var msgText = "上传失败 ";
            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 + " " + 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 = "上传失败 ";
            switch (errorCode) {
                case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
                    msgText += "HTTP 错误 " + 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 += "安全性错误 " + 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 + " 错误码:" + errorCode + " "
                            + errorMsg + " " + errorString;
            }
            alert(msgText);
        }
        return parameters;
    }
     
    var uploadify_onSelect = function(){
     
    };
     
    var uploadify_onUploadSuccess = function(file, data, response) {
        alert(file.name + " " + response + " " + 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来传值,如:

    1
    formData : { '<?php echo session_name();?>' : '<?php echo session_id();?>' }

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

  • 相关阅读:
    [已解决] Python logging 重复打印日志信息
    scrapy
    Python 元编程
    MySQL性能优化 分区
    SQL Mode
    Golang 接口
    Python partial
    栈、队列(链表实现)
    Golang 位向量
    Java50题——学习以及思考
  • 原文地址:https://www.cnblogs.com/yifan72/p/4414556.html
Copyright © 2011-2022 走看看