使用JS判断上传文件大小

项目input type=”file” 需要判断上传的文件大小,避免提交去后台判断反应较慢,直接上代码:

 <li><span>版本上传:</span>
             <img id="tempimg" dynsrc="" src="" style="display:none" />  
             <input type="file" id="file" name="file" ></li>
            <li><span>备注:</span><input type="text" id="description" name="description" ></li>

          </ul>
<!--           document.add.submit() -->
          <div class="submit">
              <a href="javascript:;" class="tijiao" onclick="checkfile()">保 存</a>
              <a href="javascript:history.go(-1);" class="fanhui">返 回</a>

JS代码



     var maxsize = 20*1024*1024;//2M  
     var errMsg = "上传的附件文件不能超过20M!!!";  
     var tipMsg = "您的浏览器暂不支持计算上传文件的大小,确保上传文件不要超过2M,建议使用IE、FireFox、Chrome浏览器。";  
     var  browserCfg = {};  
     var ua = window.navigator.userAgent;  
     if (ua.indexOf("MSIE")>=1){  
         browserCfg.ie = true;  
     }else if(ua.indexOf("Firefox")>=1){  
         browserCfg.firefox = true;  
     }else if(ua.indexOf("Chrome")>=1){  
         browserCfg.chrome = true;  
     }  
     function checkfile(){  
         try{  
             var obj_file = document.getElementById("file");  
             if(obj_file.value==""){  
                 alert("请先选择上传文件");  
                 return;  
             }  
             var filesize = 0;  
             if(browserCfg.firefox || browserCfg.chrome ){  
                 filesize = obj_file.files[0].size;  
             }else if(browserCfg.ie){  
                 var obj_img = document.getElementById('tempimg');  
                 obj_img.dynsrc=obj_file.value;  
                 filesize = obj_img.fileSize;  
             }else{  
                 alert(tipMsg);  
             return;  
             }  
             if(filesize==-1){  
                 alert(tipMsg);  
                 return;  
             }else if(filesize>maxsize){  
                 alert(errMsg);  
                 return;  
             }else{  
                // alert("文件大小符合要求");  
                //alert("函数"); 
                    var version = document.getElementById("version").value; //版本
                    var type = $('#type option:selected').val(); //接口类型
                    var saltkey = document.getElementById("saltkey").value; //saltkey
                    var deviceType = $('#deviceType option:selected').val(); //设备类型
                    var appType = $('#appType option:selected').val(); //app类型
                    var description=document.getElementById("description").value; //备注

                    $.ajaxFileUpload({
                        url:ctx + '/backVersionManager/add.do?version='+version+'&type='+type+'&saltkey='+saltkey+'&deviceType='+deviceType+'&appType='+appType+'&description='+description,
                        secureuri:false,
                        //data:{"version":version,"type":type,"saltkey":saltkey,"deviceType":deviceType,"appType":appType,"description":description},
                        fileElementId:'file',
                        dataType:'text',  
                        success:function(data,status){
                            data = data.replace("<PRE>", '');  //ajaxFileUpload会对服务器响应回来的text内容加上<pre>text</pre>前后缀
                            data = data.replace("</PRE>", '');
                            data = data.replace("<pre>","");   
                            data = data.replace("</pre>","");
                          if(data== "上传成功!"){

                            alert("上传成功!"); 
                            window.location.href =  ctx+"/backVersionManager/query.do";

                          }else if(data=="请选择文件后上传!"){
                            alert("请选择文件后上传!");
                          }else{
                            alert("上传失败,请重试!");
                          } 
                        },
                        error:function(data,status,e){  //服务器响应失败时的处理函数  
                            alert("上传失败,请重试!");
                        }
                    })
                 return;  
             }  
         }catch(e){  
             alert(e);  
         }  
     }






































评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值