struts2修改文件上传的大小

那天写了一个web上传图片的程序,明明修改了上传文件的默认值(2M),可就是一直没有起作用

<action name="fileupload" class="uploasAction">
            <interceptor-ref name="defaultStack">
                <param name="fileUpload.allowedTypes">
                    image/png,image/gif,image/jpeg,image/jpg,image/x-png
                </param>
                <param name="fileUpload.maximumSize">102400000</param>
        </interceptor-ref>
</action>

原来上网查了一下,还要加入这个东西

在struts.xml中加入  <constant name="struts.multipart.maxSize" value="10000000"/> ,大约10M

才能使拦截器起到作用

  struts.multipart.maxSize掌控整个项目所上传文件的最大的Size
  struts.multipart.maxSize和fileUpload拦截器的maximumSize属性分工不同,总结如下:


  1.struts.multipart.maxSize掌控整个项目所上传文件的最大的Size。超过了这个size,后台报错,程序处理不了如此大的文件。fielderror里面会有如下的提示:
    the request was rejected because its size (16272982) exceeds the configured maximum (9000000)
  2.fileUpload拦截器的maximumSize属性必须小于struts.multipart.maxSize的值。
    struts.multipart.maxSize默认2M,当maximumSize大于2M时,必须设置struts.multipart.maxSize的值大于maximumSize。
  3.当上传的文件大于struts.multipart.maxSize时,系统报错
    当上传的文件在struts.multipart.maxSize和maximumSize之间时,系统提示:
    File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104
    当上传的文件小于maximumSize,上传成功。

原文地址:https://www.cnblogs.com/yaobolove/p/5241988.html