文件上传功能uploadify.js报updateSettings is not a function

项目场景:

公司老系统中使用uploadify.js来实现动态上传文件功能,uploadify是使用flash插件来实现上传的。


问题描述

由于浏览器的更新换代,主流的IE、谷歌、火狐和360等浏览器已经不支持flash插件了,导致点击上传按钮时,报updateSettings is not a function。


解决方案:

我们使用aForm.AA.files[0]方法获取附件信息。

修改前代码

<form name="aForm "method="post">
     <table> 
         <tr> 
            <th> 上传附件:</th> 
            <td> <input type="file" NAME="AA" ContentEditable="false"/>
            </td>
        </tr>
    </tbale>
</form>
$j("#AA").uploadify({
    'uploader':'<%=request.getContextPath()%>/js/uploadify.swf',
    'script':'<%=request.getContextPath()%>/AExecUp.jsp',
    'cancelImg':'<%=request.getContextPath()%>/js/cancel.png',
    'buttonText':'浏览',
    'hideButton':false,
    'fileExt':'<%=afonm.getSwitchFileExt()%>',
    'fileDesc':'<%=aform.getFileExt()%>',
    'sizeLimit':1024*1024*<%=aform.getFileSizeLimit()%>
    'auto': false,
    "onComplete':function(event,queueID,file0bj, response, data){

    var json =eval("("+response +")");
    if(json.info.message!=''){
        callbackFun(json.info.message);
    }else{
        refTableDataFun(json.info.liststr);
        //清空错误提示信息
      callbackFun('');
    }
});

修改后代码

<form name="aForm "method="post">
     <table> 
         <tr> 
            <th> 上传附件:</th> 
            <td> <input type="file" NAME="AA" ContentEditable="false"/>
            </td>
        </tr>
    </tbale>
</form>
function toNextUp(){
    if(IsNull(cTrim(aForm.AA.value,0))==false){
        var formData = new FormData();
        //最重要的一句代码:加载上传文件内容
        formData.append("AA", annexForm.AA.files[0]);
        //以下可以拼接其他参数
        formData.append("userid",'<%=userid %>');
        formData.append("参数",'1');
        formData.append("参数",'1');
        $.ajax({
            type:"post",
            data: formData,
            //调用保存的方法
            url:"<%=request.getContextPath() %>/a.jsp",
            //jQuery不会设置Content-Type请求头
            contentType:false,
            //阻止jQuery自动将发送的数据序列化为字符串
            processData:false,
            success:function(data){
                var json = eval("("+ data +")");
                if(json.info.message!=''){
                    //error
                    callbackFun(data.info.message);
                }else{
                    //刷新附件展示
                    refTableFun(json.info.listStr);
                    //清空错误提示信息
                    callbackFun('');
                    document.getElementById("msg").innerHTML ="";
                }
            }
        })
    }else{
        alert("请选择需要上传的文件");
    }
}

这样配合后端进行保存方法即可实现该功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值