js判断上传文件大小

来源:互联网 发布:淘宝网天猫连衣裙 编辑:程序博客网 时间:2024/05/16 04:46
[javascript] view plaincopy
  1. var FileMaxSize = 1000;//限制上传的文件大小,单位(k)  
  2.         var s=frm.imgfile1.value;    
  3.      //alert(s);  
  4.      // if(s==""){alert("No image,please select again!");document.personRight.imgfile1.focus(); return   false;}     
  5.         var   img   =   new   Image();     
  6.         img.src   =   s;   
  7.       //alert(img.fileSize);  
  8.         if(img.fileSize>FileMaxSize*1024){  
  9.               alert("The file size exceeds "+FileMaxSize+"K,please choose a smaller one!");  
  10.               document.personRight.imgfile1.focus();  
  11.               return false;  
  12.         }  
  13.     
  14. ********************************  
  15. javascript这样来写:  
  16. //文件大小验证函数,超过规定的上限,就不让上传,给用户提示  
  17. //如果文件超过5M,就不让上传  
  18. function pstn2ngnMigration(){  
  19.    if (dbfFileNameValidate()){  
  20.       if(fileSizeValidate()){  
  21.           if(confirm("do you want to execute migration ?")){'  
  22.            lockSystem('please waiting...',false)  
  23.            setTimeout("dbfFileMigration()",3000);  
  24.           }  
  25.       }  
  26.    };  
  27. }  
  28. //判断是否是.DBF文件,是返回true  
  29. function dbfFileNameValidate()  
  30. {  
  31.   var filestr = document.all.UploadFile.value;  
  32.   if(filestr=="")  
  33.      alert("Please select a migration file!");  
  34.      document.all.UploadFile.focus();  
  35.      return false;  
  36.   }else if(filestr.toLowerCase().lastIndexOf(".dbf")==-1){  
  37.         alert("Please select a file with DBF extension !");  
  38.         document.all.UploadFile.focus();  
  39.         return false;  
  40.   };  
  41.   return true;  
  42. }  
  43.    
  44. //条件成立,提交  
  45. function dbfFileMigration()  
  46. {  
  47.    document.Uploadform.action="MigrationSendOrder.jsp";  
  48.    document.Uploadform.submit();  
  49.    unlockSystem();  
  50. }  
  51. //上传文件大小限制  
  52. function fileSizeValidate()  
  53. {  
  54.  var filestr = document.all.UploadFile.value;)  
  55.  var fso,f;  
  56.  fso=new ActiveXObject("Scripting.FileSystemObject");  
  57.  f=fso.GetFile(filestr);  
  58.  if(f.size>5*1024*1024){  
  59.  alert("The size of .dbf is more than 5M");  
  60.  return false;  
  61.  }  
  62.  return true;  
  63. }  
  64. 页面代码如下:  
  65. <TR vAlign=center align=middle height=40 width="100%">  
  66.  <form name=Uploadform method=post encType="multipart/form-data">   
  67.    <TD align=left width="60%">  
  68.         <INPUT class=input id=UploadFile type=file size=30 name=UploadFile>  
  69.    </TD>  
  70.  </form>  
  71.    <TD align=middle width="20%">  
  72.         <INPUT class=Btn1_w60 onclick="pstn2ngnMigration()" type=button value=upload>  
  73.    </TD>  
  74. </TR>  
  75. ***************************************  
  76. 考虑通用性,还是在服务器端判断好    
  77.   http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C    
  78.      
  79.   <HTML>    
  80.   <HEAD>    
  81.   <SCRIPT>    
  82.   function   getFileSize   (fileName)   {    
  83.   var   ext   =   fileName.substr(fileName.lastIndexOf(".")+1)    
  84.   ext=ext.toLowerCase()    
  85.   if(!(ext=="bmp"   ||   ext=="gif"   ||   ext=="jpg"))    
  86.   {    
  87.   alert("类型不对")    
  88.   return   -1    
  89.   }    
  90.       if   (document.layers)   {    
  91.           if   (navigator.javaEnabled())   {    
  92.               var   file   =   new   java.io.File(fileName);    
  93.               if   (location.protocol.toLowerCase()   !=   'file:')    
  94.                   netscape.security.PrivilegeManager.enablePrivilege(    
  95.                   '没有权限'    
  96.                   );    
  97.               return   file.length();    
  98.           }    
  99.           else   return   -1;    
  100.       }    
  101.       else   if   (document.all)   {    
  102.           window.oldOnError   =   window.onerror;    
  103.           window.onerror   =   function   (err)   {    
  104.               if   (err.indexOf('utomation')   !=   -1)   {    
  105.                   alert('没有权限,请降低安全性。');    
  106.                   return   true;    
  107.               }    
  108.               else      
  109.                   return   false;    
  110.           };    
  111.           var   fso   =   new   ActiveXObject('Scripting.FileSystemObject');    
  112.           var   file   =   fso.GetFile(fileName);    
  113.           window.onerror   =   window.oldOnError;    
  114.           return   file.Size;    
  115.       }    
  116.   }    
  117.      
  118.   </SCRIPT>    
  119.   </HEAD>    
  120.   <BODY>    
  121.   <FORM   NAME="formName">    
  122.   <INPUT   TYPE="file"   NAME="fileName">    
  123.   <BR>    
  124.   <INPUT   TYPE="button"   VALUE="查看"   ONCLICK="alert(getFileSize(this.form.fileName.value))">    
  125.   </FORM>    
  126.   </BODY>    
  127.   </HTML>  
  128. *************************************************************  
  129. <HTML>  
  130.  <HEAD>  
  131. <title>******上传文件大小的限制和判断***********</title>  
  132. <mce:script language="javascript" type="text/javascript"><!--  
  133. function getFileSize(filename)  
  134. {  
  135.     // var filename = document.all('fileup').value; //获得上传文件的物理路径  
  136.     if(filename =='')  
  137.      {  
  138.        alert("你还没有浏览要上传的文件");   
  139.  return false;  
  140.      }  
  141.    
  142.      try {  
  143.         
  144.  var fso,f,fname,fsize;  
  145.  var flength=40000;  //设置上传的文件最大值(单位:kb),超过此值则不上传。   
  146.  fso=new ActiveXObject("Scripting.FileSystemObject");  
  147.         f=fso.GetFile(filename);//文件的物理路径  
  148.  fname=fso.GetFileName(filename);//文件名(包括扩展名)  
  149.  fsize=f.Size;  //文件大小(bit)  
  150.  fsize=fsize/1024;  
  151.  //去掉注释,可以测试  
  152.         //alert("文件路径:"+f);  
  153.  //alert("文件名:"+fname);  
  154.  //alert("文件大小:"+fsize+"kb");  
  155.  if(fsize>flength)  
  156.  {  
  157.  alert("上传的文件到小为:"+fsize+"kb,/n超过最大限度"+flength+"kb,不允许上传 ");  
  158.  return false;  
  159.  }  
  160.  else  
  161.  {alert("允许上传,文件大小为:"+fsize+"kb");}  
  162.      
  163.       }  
  164.       catch(e)  
  165.  {  
  166.   alert(e+"/n 跳出此消息框,是由于你的activex控件没有设置好,/n"+  
  167.   "你可以在浏览器菜单栏上依次选择/n"+  
  168.   "工具->internet选项->/"安全/"选项卡->自定义级别,/n"+  
  169.   "打开/"安全设置/"对话框,把/"对没有标记为安全的/n"+  
  170.   "ActiveX控件进行初始化和脚本运行/",改为/"启动/"即可");  
  171.          return false;  
  172.       }  
  173.     
  174.    return true;  
  175.       
  176. }  
  177. // --></mce:script>  
  178. </head>  
  179. <body>  
  180. <form id="Form1" method="post" encType="multipart/form-data" runat="server">  
  181. <INPUT id="fileup" type="file" size="80" name="fileup" onpropertychange="getFileSize(this.value)">  
  182. <input type=button onclick="getFileSize(document.all('fileup').value)" value="测试">  
  183. </form>  
  184. </body>