文件上传的问题

chenshuang1227 2008-12-15
想实现的功能如下:通过页面上传文件,如果文件大小大于5M,就弹出对话框提示。
貌似这个功能很难实现,请大家给点意见。
wujiekangyun 2008-12-15
写一个拦截器嘛,没什么难的
Clayz 2008-12-15
1,js验证。
2,拦截器,不用自己写,struts2自带。
3,action手动。
cbywxy 2008-12-16
用ajax回调页面js 函数,验证在服务器端
blurm 2008-12-24
struts2有专用的拦截器,设置大小和文件类型,不符合会抛异常出来好像

但是文件类型控制好像不太好使
makar 2008-12-24
<script language="Jscript">
function chksize(strFileName){
    var maxsize = 100;    //定义允许文件的大小,单位KB,请根据需要自行修改!
    var objStream = new ActiveXObject("ADODB.Stream");
    objStream.Type = 1;
    objStream.Open();
    objStream.LoadFromFile(strFileName);
    if(Math.round(objStream.Size/1024,2)>maxsize)
        {alert ("抱歉!您选择的文件为 "+Math.round(objStream.Size/1024,2)+" KB n超过了程序"+maxsize+" KB 的限制!");
        document.form1.reset();
        return false;
        }
}
</script>
<form name="form1" action="" method="post">
<input type="file" name="Upfile" onchange="chksize(this.value)">
</form>
makar 2008-12-24
<script> 
  function   ShowFileSize(FilePath) 
  { 
          var   fso,file,s; 
          fso   =   new   ActiveXObject("Scripting.FileSystemObject"); 
          file   =   fso.GetFile(FilePath); 
          s   =   file.Name   +   "   :   "   +   (file.size/1024).toFixed(2)   +"KB"; 
          return   s; 
  } 
  </script> 
  <form   name=form1> 
  <input   type="file"   name="bao"> 
  <input   type="button"   value="Check"   onclick="alert(ShowFileSize(document.all.bao.value))"> 
  </form>  
chenshuang1227 2008-12-29
makar 写道
<script language="Jscript">
function chksize(strFileName){
    var maxsize = 100;    //定义允许文件的大小,单位KB,请根据需要自行修改!
    var objStream = new ActiveXObject("ADODB.Stream");
    objStream.Type = 1;
    objStream.Open();
    objStream.LoadFromFile(strFileName);
    if(Math.round(objStream.Size/1024,2)>maxsize)
        {alert ("抱歉!您选择的文件为 "+Math.round(objStream.Size/1024,2)+" KB n超过了程序"+maxsize+" KB 的限制!");
        document.form1.reset();
        return false;
        }
}
</script>
<form name="form1" action="" method="post">
<input type="file" name="Upfile" onchange="chksize(this.value)">
</form>


非常感谢你的回答,但有的时候ActiveX在企业中是被屏蔽的。
Global site tag (gtag.js) - Google Analytics