上传在实际开发应用的很广泛,想在页面端口进行js的判断控制,无奈网上找了很多,都说js存在跨浏览器的兼容问题,建议在服务器进行判断,以前用的是struts1,在struts1里面可以拿到上传文件的所有详细信息,可以判断文件的大小和类型,但是在struts2里面却是加了个上传文件大小的拦截器 org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (2949515) exceeds the configured maximum (2097152)上传的文件只能是2M,我上传了个2.9M的文件就抛这个异常了,但是现在怎么给客户提示消息说上传的文件太大,只能是2M以下的,因为接下来,他根本没有进入我的action,根本连写代码进行逻辑判断的机会没有了 Could not find action or result
No result defined for action com.kn.struts2.FileUploadAction and result input - action - file:/D:/project/struts2/WebRoot/WEB-INF/classes/struts.xml:12:79在实际项目中大家在用struts2进行开发时候怎么在服务器端惊醒文件大小的判断,这个就可以了,整1天了,郁闷死了
有知道的麻烦说下

解决方案 »

  1.   

    你这样啊!   他上传的话先进行他的size判断,如果大于2M的话就forward一个提示页面!   不一定非要给个弹出框啊!   如果非要给个弹出框的话,就用Ajax或者是jquery,不过你也说了,浏览器兼容问题,所以有点棘手!
      

  2.   

    在struts2 的applicationResources里面可以加入3个上传文件的错误消息
    1》:struts.message.error.upload  这个是上传错误文件的通用信息。
    2》:struts.message.error.file.too.large 如果上传文件太大就报这个消息
    3》:struts.message.eeror.content.type.not.allowed 类型不对就报这个错误
    如果出错了 <result name="input">.....</result>导向出错后的页面  调用<s:actionerror/>就可以显示了