js判斷上傳檔案大小

瓜瓜東西發表於2014-10-26
Js程式碼  收藏程式碼
  1. <html>   
  2. <head>   
  3. <script type="text/javascript">   
  4.   var isIE = /msie/i.test(navigator.userAgent) && !window.opera;         
  5.   function fileChange(target) {     
  6.       
  7.     var fileSize = 0;          
  8.     if (isIE && !target.files) {      
  9.       var filePath = target.value;      
  10.       var fileSystem = new ActiveXObject("Scripting.FileSystemObject");         
  11.       var file = fileSystem.GetFile (filePath);      
  12.       fileSize = file.Size;     
  13.     } else {     
  14.      fileSize = target.files[0].size;      
  15.      }    
  16.      var size = fileSize / 1024;     
  17.      if(size>10000){   
  18.       alert("附件不能大於10M");   
  19.         
  20.         
  21.      }   
  22.        
  23. }    
  24. </script>   
  25. </head>   
  26. <body>   
  27. <input type="file" name="contractFileName"  style="width: 500px;" onchange="fileChange(this);"/>   
  28. </body>   
  29. </html>  
 

自己網上找資料 並測試 檔案上傳大小限制的一個例子,相容ie6ie7ie8 Google Chromeff等瀏覽器,ie8上面在安全設定處設定一下就好了(工具 => Internet選項 => 安全 => Internet => 自定義級別    找到“將檔案上載到伺服器時包含本地目錄路徑”,設為“啟用”即可)

Js程式碼  收藏程式碼
  1. function fileChange(target,id) {     
  2.         var fileSize = 0;          
  3.         if (isIE && !target.files) {      
  4.               var filePath = target.value;     
  5.               var fileSystem = new ActiveXObject("Scripting.FileSystemObject");  
  6.                 
  7.               if(!fileSystem.FileExists(filePath)){  
  8.                  alert("附件不存在,請重新輸入!");  
  9.                  var file=document.getElementById(id);   
  10.                  file.outerHTML=file.outerHTML;  
  11.                  return;  
  12.               }  
  13.               var file = fileSystem.GetFile (filePath);  
  14.               fileSize = file.Size;     
  15.         } else {     
  16.               fileSize = target.files[0].size;   
  17.         }    
  18.           
  19.         var size = fileSize / 1024;     
  20.         if(size>100000){   
  21.              alert("附件大小不能大於100M!");   
  22.              var file=document.getElementById(id);   
  23.              file.outerHTML=file.outerHTML  
  24.         }    
  25.         if(size<=0){  
  26.             alert("附件大小不能為0M!");   
  27.             var file=document.getElementById(id);   
  28.              file.outerHTML=file.outerHTML  
  29.         }   
  30.      }   

相關文章