js兼容ie和chrome的文件上传大小校验

来源:互联网 发布:淘宝助理批量导出图片 编辑:程序博客网 时间:2024/05/22 02:08

js 文件上传功能在ie8和chrome下的语法会有不一样的地方,取决于浏览器对file文件对象的获取不一样。ie通过FileSystemObject此对象获取,而chrome获取$(“input[name=’file’]”).file[0].size获取。

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="./jquery-1.8.0.min.js"></script><script type="text/javascript"> var isIE = /msie/i.test(navigator.userAgent) && !window.opera; function fileChange(target,id) {     var fileSize = 0;     var filetypes =[".jpg",".png",".rar",".txt",".zip",".doc",".ppt",".xls",".pdf",".docx",".xlsx"];     var filepath = target.value;     var filemaxsize = 1024*2;//2M     var size;    // //文件类型校验    // if(filepath){    //  var isnext = false;     //  var fileend = filepath.substring(filepath.indexOf("."));     //  if(filetypes && filetypes.length>0){    //      for(var i =0; i<filetypes.length;i++){     //      if(filetypes[i]==fileend){    //          isnext = true;    //          break;    //          }    //      }    //  }    //  if(!isnext){     //      alert("不接受此文件类型!");     //      target.value ="";     //      return false;     //  }     // }else{     //  return false;     // }       //ie8浏览器下的判断    if (isIE && !target.files) {         var filePath = target.value;         var fileSystem = new ActiveXObject("Scripting.FileSystemObject");         if(!fileSystem.FileExists(filePath)){             alert("附件不存在,请重新输入!");             return false;         }         var file = fileSystem.GetFile (filePath);          size = file.Size / 1024;         if(size>filemaxsize){             alert("附件大小不能大于"+filemaxsize/1024+"M!");             var obj = document.getElementById('testFile') ;                 obj.select();                 document.selection.clear();             return false;         }     } else {     //chrome浏览器的文件大小校验        size = target.files[0].size / 1024;         if(size>filemaxsize){             alert("附件大小不能大于"+filemaxsize/1024+"M!");             target.value =""            return false;         }     }     if(size<=0){         alert("附件大小不能为0M!");         target.value ="";         return false;     } } </script> </head> <body> <input type="file" id="testFile" name="contractFileName" style="width: 500px;" onchange="fileChange(this);"/> </body> </html> 
阅读全文
1 0
原创粉丝点击