JS判断文件上传大小

 var FileMaxSize = 1000;//限制上传的文件大小,单位(k)
        var s=frm.imgfile1.value;  
     //alert(s);
     // if(s==""){alert("No image,please select again!");document.personRight.imgfile1.focus(); return   false;}   
        var   img   =   new   Image();   
        img.src   =   s; 
      //alert(img.fileSize);
        if(img.fileSize>FileMaxSize*1024){
              alert("The file size exceeds "+FileMaxSize+"K,please choose a smaller one!");
              document.personRight.imgfile1.focus();
              return false;
        }
  

********************************

javascript这样来写:
//文件大小验证函数,超过规定的上限,就不让上传,给用户提示ZYKb+
//如果文件超过5M,就不让上传S

function pstn2ngnMigration(){>Y#e8_
   if (dbfFileNameValidate()){D
      if(fileSizeValidate()){P7UP.;
          if(confirm("do you want to execute migration ?")){'5Kf[0
           lockSystem('please waiting...',false) 3A;a#0
           setTimeout("dbfFileMigration()",3000);    1.2
          }R:
      }nev@
   };8gQ
}©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  |r;
©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  NB9
//判断是否是.DBF文件,是返回trueE[8]
function dbfFileNameValidate()D mu$)
{©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  AA9Op
  var filestr = document.all.UploadFile.value;0t
  if(filestr==""){8C>'pp
     alert("Please select a migration file!");PkW6Y=
     document.all.UploadFile.focus();(Oz&
     return false;7
  }else if(filestr.toLowerCase().lastIndexOf(".dbf")==-1){n&2 m7
        alert("Please select a file with DBF extension !");g
        document.all.UploadFile.focus();ZVq>/
        return false;R>?$
  };eF=,
  return true;-Q$|
}©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  /QG"g
   -j[Vtu
//条件成立,提交b2EQAA
function dbfFileMigration()j9
{   q[y
   document.Uploadform.action="MigrationSendOrder.jsp";0;
   document.Uploadform.submit();5
   unlockSystem();TFh
   ?
}©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  _qzWzh
©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  S1`Ni
//上传文件大小限制Go
function fileSizeValidate() '
{  >=N
 var filestr = document.all.UploadFile.value;)6^mpz
 var fso,f;  D'naRs
 fso=new ActiveXObject("Scripting.FileSystemObject");  xy
 f=fso.GetFile(filestr);  Z056
 if(f.size>5*1024*1024){<VW1Y
 alert("The size of .dbf is more than 5M"); Yf
 return false;PA
 }OsoqC2
 return true;/CO]2g
}  g
©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  %5/
页面代码如下:Js8
©中国Java实验室(ChinaJavaLab)技术论坛 -- 中国Java实验室技术论坛  DOe
<TR vAlign=center align=middle height=40 width="100%">E>&a;%
 <form name=Uploadform method=post encType="multipart/form-data"> bUJF7
        T64./,
   <TD align=left width="60%">C
        <INPUT class=input id=UploadFile type=file size=30 name=UploadFile>?WE`
   </TD>,>(v]
 </form>nK|
   <TD align=middle width="20%">bQ
        <INPUT class=Btn1_w60 οnclick="pstn2ngnMigration()" type=button value=upload> U
   </TD>^1T#I
</TR>X-ajkB
***************************************

考虑通用性,还是在服务器端判断好  
  http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C  
   
  <HTML>  
  <HEAD>  
  <SCRIPT>  
  function   getFileSize   (fileName)   {  
  var   ext   =   fileName.substr(fileName.lastIndexOf(".")+1)  
  ext=ext.toLowerCase()  
  if(!(ext=="bmp"   ||   ext=="gif"   ||   ext=="jpg"))  
  {  
  alert("类型不对")  
  return   -1  
  }  
      if   (document.layers)   {  
          if   (navigator.javaEnabled())   {  
              var   file   =   new   java.io.File(fileName);  
              if   (location.protocol.toLowerCase()   !=   'file:')  
                  netscape.security.PrivilegeManager.enablePrivilege(  
                  '没有权限'  
                  );  
              return   file.length();  
          }  
          else   return   -1;  
      }  
      else   if   (document.all)   {  
          window.oldOnError   =   window.onerror;  
          window.onerror   =   function   (err)   {  
              if   (err.indexOf('utomation')   !=   -1)   {  
                  alert('没有权限,请降低安全性。');  
                  return   true;  
              }  
              else    
                  return   false;  
          };  
          var   fso   =   new   ActiveXObject('Scripting.FileSystemObject');  
          var   file   =   fso.GetFile(fileName);  
          window.onerror   =   window.oldOnError;  
          return   file.Size;  
      }  
  }  
   
  </SCRIPT>  
  </HEAD>  
  <BODY>  
  <FORM   NAME="formName">  
  <INPUT   TYPE="file"   NAME="fileName">  
  <BR>  
  <INPUT   TYPE="button"   VALUE="查看"   ONCLICK="alert(getFileSize(this.form.fileName.value))">  
  </FORM>  
  </BODY>  
  </HTML>

*************************************************************

<HTML>
 <HEAD>
<title>******上传文件大小的限制和判断***********</title>
<script language="javascript" type="text/javascript">
function getFileSize(filename)
{
    // var filename = document.all('fileup').value; //获得上传文件的物理路径
    if(filename =='')
     {
       alert("你还没有浏览要上传的文件"); 
 return false;
     }
 
     try {
      
 var fso,f,fname,fsize;
 var flength=40000;  //设置上传的文件最大值(单位:kb),超过此值则不上传。 
 fso=new ActiveXObject("Scripting.FileSystemObject");
        f=fso.GetFile(filename);//文件的物理路径
 fname=fso.GetFileName(filename);//文件名(包括扩展名)
 fsize=f.Size;  //文件大小(bit)
 fsize=fsize/1024;
 //去掉注释,可以测试
        //alert("文件路径:"+f);
 //alert("文件名:"+fname);
 //alert("文件大小:"+fsize+"kb");
 if(fsize>flength)
 {
 alert("上传的文件到小为:"+fsize+"kb,/n超过最大限度"+flength+"kb,不允许上传 ");
 return false;
 }
 else
 {alert("允许上传,文件大小为:"+fsize+"kb");}
   
      }
      catch(e)
 {
  alert(e+"/n 跳出此消息框,是由于你的activex控件没有设置好,/n"+
  "你可以在浏览器菜单栏上依次选择/n"+
  "工具->internet选项->/"安全/"选项卡->自定义级别,/n"+
  "打开/"安全设置/"对话框,把/"对没有标记为安全的/n"+
  "ActiveX控件进行初始化和脚本运行/",改为/"启动/"即可");
         return false;
      }
  
   return true;
    
}
</script>
</head>
<body>
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<INPUT id="fileup" type="file" size="80" name="fileup" onpropertychange="getFileSize(this.value)">
<input type=button οnclick="getFileSize(document.all('fileup').value)" value="测试">

</form>
</body> 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值