状态数据库中上传文件在js页面端判断上传文件的类型和大小

 <input type="file" name="files" id="files" isEmpty="<%=column.getIx01()%>" οnchange="checkFile(this);"/>


//验证上传文件的格式和大小  最大10M        
        function checkFile(obj){
             //最大10m
             var allowLength = 10;
             var filePath = obj.value;            
             if(filePath.length>0){
                 var fileExt = filePath.substring(filePath.lastIndexOf(".")).toLowerCase();
                 alert(fileExt);
                 if(!fileExt.match(/.jpg|.gif|.png|.bmp|.rar|.xls|.xlsx|.pdf|.doc|.docx|.txt|.zip|.war/i)) {  

                     //第一种清除file的方法
                     //obj.value = "";

                    //第二种清除file的方法
                     //obj.select();
                      //document.selection.clear(); 

                    //第三种清除file的方法    (这三种方法各个浏览器支持的不同)
                      obj.outerHTML=obj.outerHTML;
                     alert('你上传的文件格式不符合(.jpg|.gif|.png|.bmp|.rar|.xls|.xlsx|.pdf|.doc|.docx|.txt|.zip|.war)');
                     return false;  
                 }else{
                     //IE浏览器
                     if(navigator.userAgent.indexOf("MSIE")>0) {
                        try {
                         var fso,f,fsize;
                         fso=new ActiveXObject("Scripting.FileSystemObject");
                          f=fso.GetFile(filePath);
                          fsize=f.Size;
                          fsize=fsize/1048576;
                          if(fsize>allowLength){                             
                             obj.select();
                             document.selection.clear();
                             alert("你上传的附件文件大小超过最大值10M,不允许上传");
                             return false;
                          }
                        }catch(e){
                            alert(e+"\n 跳出此消息框,是由于你的activex控件没有设置好,\n"+
                            "你可以在浏览器菜单栏上依次选择\n"+
                            "工具->internet选项->\"安全\"选项卡->自定义级别,\n"+
                            "打开\"安全设置\"对话框,把\"对没有标记为安全的\n"+
                            "ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
                            return false;
                         }
                     //火狐和谷歌
                     }else if((isFirefox=navigator.userAgent.indexOf("Firefox")>0)||(isChrome=navigator.userAgent.indexOf("Chrome")>0)){                               
                        var filesize = obj.files[0].size;
                        filesize = filesize/1048576;                    
                        if(filesize>allowLength){
                            obj.outerHTML=obj.outerHTML;
                             alert("你上传的附件文件大小超过最大值10M,不允许上传");
                             return false;
                        }
                    }else{
                        alert("请使用IE、火狐或者谷歌浏览器,以便更好以便更好的上传附件!");
                    }                     
                 }  
             }
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值