分享

上传一个大文件时不能显示资源文件里给的提示信息?(好)

 fanjj 2009-08-28
原来struts2的拦截器可以限制文件的类型、大小等,但是当上传文件大小2M后,这个拦截器就不起作用了,只用小于2M(默认大小)的时候才起作用。那是因为:common-fileupload组件默认最大支持上传文件的大小为2M,当我们上传大于2M的文件时,控制台就会输出文件过大异常,但是不会显示出资源文件里给出的提示信息,是因为这个异常的发生导致了fileUpload拦截器没有机会执行,所以看到的是页面没有任何变化,也没有任何提示信息,只是在控制台打印出了上面的那些上传文件过大的异常。
原来xtruts.xml拦截器:
<interceptor-ref name="fileUpload">
    <!-- 配置允许上传的文件大小,struts2默认最大为2M,即2097152-->
    <param name="maximumSize">2097152</param>
    <!-- 配置允许上传的文件类型 -->
    <param name="allowedTypes">
     application/vnd.ms-powerpoint,application/vnd.ms-excel,application/zip,application/msword,image/bmp,
     image/png,image/gif,image/jpeg,image/jpg,text/plain
    </param>
   </interceptor-ref>
   <!-- 注意,一定要配置系统默认的拦截器 -->
   <interceptor-ref name="defaultStack" />
解决办法:
在顶端再加上: <constant name="struts.multipart.maxSize" value="1000000000" />
还在添加struts.properties文件 内容:struts.multipart.maxSize=1000000000
这样问题就解决了!!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约