问题:判断文档上传大小(非图片格式)(大于1MB限制上传)
遇到的问题:
1.JS实现
首先<form>表单中<input type="file" name="file" id="file" onchange="fileup(this.id)"/> onchange事件绑定;
在<script type="text/javascript"></script>中定义一个上传最大值var flength=1024;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(filename);
fsize=f.Size; 
fsize=fsize/1024; 然后if(fsize>flength)判定大小;
遇到问题,需要考虑到“ActiveX控件进行初始化和脚本运行”IE浏览器都是默认设置为“禁用”(需要用户自己修改,不可行),同时火狐浏览器和谷歌浏览器onchange事件无响应,方法不可行。
<form  action="@{Application.fileupdate()}" method="POST" enctype="multipart/form-data">
     <input name="username" value="${flash.name}" type="text"/><br/>
   
     <input type="file" name="file" id="file" onchange="fileup(this.id)"/>
     <input type="submit" value="提交"/>
  </form> function fileup(x){
     var filename=document.all.file.value;
     alert(filename);
     var fso,f,fname,fsize;  
     var flength=1024;  //设置上传的文件最大值(单位:kb),超过此值则不上传。   
     fso=new ActiveXObject("Scripting.FileSystemObject");  
     f=fso.GetFile(filename);//文件的物理路径  
     fname=fso.GetFileName(filename);//文件名(包括扩展名)  
     fsize=f.Size;  //文件大小(bit)  
     fsize=fsize/1024;  
     if(fsize>flength){
       alert("太大了");
       return false;
     }
     alert("好了");
     return true;
  }
2.通过<form>表单全部提交 submit全部数据(患者姓名、会诊类型、会诊医生、病情摘要、上传病历等),在后台接受 上传file文件大小以后进行判断,然后超出大小返回“申请会诊”界面,这时候所有刚才填写很多的文字还得重新再次输入一遍,怎么才能让他记住之前的输入不清空,回来只再次上传病历即可
3.希望有更好的方法来解决这个问题

解决方案 »

  1.   

    哥们 我这个是 PLAY 框架+HTML  ajax我写的很困难啊
      

  2.   

    这种check最好在服务端限制吧,可以限制所有客户端。multipart会在每个上传文件的header里面包含content-length信息的。
     
      

  3.   

    2.通过<form>表单全部提交 submit全部数据(患者姓名、会诊类型、会诊医生、病情摘要、上传病历等),在后台接受 上传file文件大小以后进行判断,然后超出大小返回“申请会诊”界面,这时候所有刚才填写很多的文字还得重新再次输入一遍,怎么才能让他记住之前的输入不清空,回来只再次上传病历即可method1、你可以在返回时候返回的是一个里边有值的页面,把上传的内容赋给不用修改的变量。把上传file的空开。
    mehtod2、把填的内容,和上传的内容分为两个页面,两部完成。
      

  4.   

    如果考虑到文件太大而影响网速,则最好用active的方式,用ajax把文件大小传到服务器端进行验证,因为如果上传到服务器端再验证还不如直接存下这个文件,除非你是为存储容量考虑。2.struts 可以很方便实现你想要的
     另外struts也可以实现文件上传大小限制
      

  5.   

    用后台判断文件大小把 。 或者用sttuts2 配置限制文件大小
      

  6.   

    你说的就是回显的问题啊用struts2标签就可以了
      

  7.   

    谢谢大家伙的 意见,由于我新接触的是play framework框架 +html 有些地方和我学的SSH+JSP还是不太一样,所以 通过搜索在这里看到了希望:http://blog.csdn.net/treesky/article/details/5936320 谢谢各位~~