论坛首页 Java企业应用论坛

『提问』请问:如何在action中知道文件的上传大小,并且加以...

浏览 7058 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-09-08  
软件环境:
weblogic + webwork
配置文件:
webwork.properties配置:

webwork.multipart.maxSize=5120000


xwork.xml配置:
<interceptors>
<interceptor name="fileUpload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor">
<param name="maximumSize">10000000</param>
</interceptor>
<interceptor-stack name="testStack">
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="chainStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="testStack"/>

错误提示信息:
2005-09-08 09:57:09,187 [ExecuteThread: '10' for queue: 'default'] DEBUG com.opensymphony.webwork.dispatcher.ServletDisp
atcher - maxSize=5120000
2005-09-08 09:57:09,187 [ExecuteThread: '10' for queue: 'default'] ERROR com.opensymphony.webwork.dispatcher.multipart.M
ultiPartRequest - org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected beca
use it's size exceeds allowed range
你的分析:
我在webwork.properties中限制了文件上传的大小,那如何在程序中去控制文件的大小,也就是当文件上传的大小超过限制以后如何去返回给前台一个出错信息,而不是直接抛出异常?重载fileUpload?还是什么其它方法?
   发表时间:2005-09-08  
webwork的这个upload拦截器不完善,自己写一个能够检测大小的吧。
0 请登录后投票
   发表时间:2005-09-08  
参考webwork2.2的这个拦截器自己改造一下
0 请登录后投票
   发表时间:2005-09-08  
谢谢,看来只有这样了。难道真的没有其它方法吗?
0 请登录后投票
   发表时间:2005-09-08  
自己在action里面也可以检测的,特别是对于动态的检测规则来说,实现代码和拦截器差不多
0 请登录后投票
   发表时间:2005-09-08  
action中怎么实现?我的方法一调用到和File对象相关联的对象的时候,webwork就报空指针了。
0 请登录后投票
   发表时间:2005-10-31  
edmundbull 写道
action中怎么实现?我的方法一调用到和File对象相关联的对象的时候,webwork就报空指针了。

使用pell做多文件上传,如果存在无效上传的文件就会报空指针异常
在FileUploadInterceptor的
String[] fileName = multiWrapper.getFileNames(inputName);;

修改这个地方,抓住异常自己处理掉
String[] fileName = null;
try{
                	fileName = multiWrapper.getFileNames(inputName);; 
                }catch(NullPointerException ex);{
                	continue;
                }

对应没有传文件的file将是null,在使用的时候判断一下文件是否为空就可以了。
试了一下对三种上传方式都没有问题。
0 请登录后投票
   发表时间:2005-11-07  
最好是自己去改parser
0 请登录后投票
   发表时间:2005-11-11  
看主题
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics