既然你是用Struts,想必是使用FormFile来做的文件上传吧?
FormFile有一个getFileSize()的方法,就是所上传的文件的大小。呵呵。

解决方案 »

  1.   

    判断 因该在struts-config里面做。
    在controller 里面 设置 一下maxFileSize就可以了。
    如果把信息传到后台 会影响系统性能。
      

  2.   

    如果是struts2的话,就更简单了!有个file属性,File file,你对file操作就完了
      

  3.   

      
    通过FormFile.getFileSize()方法来判断文件的大小是否超标,如果超标,就想用户返回错误信息。但是这种方法的最大问题就是用户的文件已经上传到服务器并且保存在内存中了,万一用户上传了一个1000M的文件怎么办,服务器还不直接挂了。参照struts的文档,配置了文件的大小(),这样在上传的过程中,如果文件超过了配置的大小,就会终止文件的上传。相应的FormFile字段为null,我们无法简单的通过判断FormFile是否为空来用户的文件是否超过了配置的大小,不过struts为我们提供了一个途径,在文件超过配置大小时struts会在Servelet Request设置一个属性, MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED,它的值是一个Boolean类型的变量,所以我们可以在Action的execute方法中通过如下代码判断文件是否”超标“:        Boolean maxLengthExceeded = (Boolean) request.getAttribute(
                                   MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);
            
            if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue()))        {                  Blar, Blar...        }
      

  4.   

    判断 在导入Struts的时候 在WEB-INF的下面是不是有个Struts-config 在struts-config里面的message-resources那个标签 上面写 
    controller maxFileSize
    给MAXFILESIZE设置一个值就可以了。
    比喻 <controller maxFileSize="10mb"/>
      如果上传了大于10MB的的东西 系统就会抛出异常。   
      

  5.   

    Struts 1.x是用FormFile来判断;Struts 2.x是直接使用java.io.File进行判断(注意这是单个文件,不是一次上传的全部文件)