uploadify 3.2 增加动态传参

今天上午开发多文件上传和解析excel的时候,遇到一个问题:上传过程中需要增加一些参数;

经过查阅uploadify 官网 ;需要增加formData字段,但是不能够简单的静态增加;需要在onUploadStart 中进行动态的设置;此时如果你初始化的时候已经存在过formData属性,则onUploadStart 中设置无效;

后端取值的话,可以使用

req.getParameter(name);//java
$_post['name'] //进行取值;

 

详细见代码:

$("#uploadify").uploadify({
        'swf'      : 'styles/dwz/uploadify/uploadify.swf',
        'buttonText':'选择文件 ',
        'uploader'       : 'admin/resume/import.do',
        'fileObjName' : 'FileData',
        "button_image_url": "admin/resume/button.action",
        'auto'           : false,
        'fileTypeExts' : '*.xls; *.xlsx;',
        'fileSizeLimit' : '100MB',
        'multi'    : true,
        'queueID'  : 'fileQueue',
        'uploadLimit' : 999,
        'width':89,
        'height':18,
        //'formData':{'importDate':'2012-03-04'}, 此时没有设置,则动态增加参数有效,如果没有注释该行,则下面onUploadStart中setting formData无效!
        'queueSizeLimit' : 20,
        'removeCompleted' : false,
        'overrideEvents' : ['onSelectError','onUploadSuccess','onUploadStart'],
        'onUploadSuccess' : function(file, data, response) {
            navTabAjaxDone($.parseJSON(data));
        },
        'onSelectError' : function(file, errorCode, errorMsg) {
              if(errorCode==SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED){
                  alert("一次只能上传20个文件!"); 
              }else if(errorCode==SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT){
                  alert("上传文件必须小于100M!"); 
              }else if(errorCode==SWFUpload.QUEUE_ERROR.INVALID_FILETYPE){
                  alert("只能上传xls,xlsx的office文件!");
              }
        },
        'onUploadStart' : function(file) {
            var importDate=$('#importDate').val();
            $("#uploadify").uploadify("settings", "formData", {'importDate': importDate});//注意...
        },
        'onDialogClose': function(queueData){
        }
    });

 

posted @ 2013-08-12 11:29  lifer  阅读(528)  评论(4)    收藏  举报
程序员看世界