zoukankan      html  css  js  c++  java
  • Struts2中struts.multipart.maxSize配置

    今天使用Struts2的文件上传控件时,在struts.xml中,将处理上传的action中的fileUpload拦截器的maximumSize参数设置为5000000,上传了一个3M的文件后发现控制台报错,而且提示说文件超过2M。Struts.xml相关配置如下:
    <action name="FileUpload" class="cn.timefly.strutsTest.FileUploadAction">
        <result name="success">/FileUploadResult.jsp</result>
        <result name="input">/FileUpload.jsp</result>
        <interceptor-ref name="fileUpload">
          <param name="maximumSize">500000</param> 
          <param name="allowedTypes">application/vnd.ms-powerpoint</param>     
        </interceptor-ref>
    <interceptor-ref name="defaultStack" /> 

    </action>

    后来尝试在struts.xml中加入 <constant name="struts.multipart.maxSize" value="9000000"/>
    发现一切正常了,不报错了。功能也正常了,发现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,上传成功。

  • 相关阅读:
    利用树莓派把普通打印机变成网络打印机方法
    Python之datetime库
    CentOS7从默认/home中转移空间到根分区/
    更改Azure虚拟机账号密码
    创建一个托管磁盘的Windows定制镜像
    IO多路复用详解
    玩转redis
    EF Linq to Sql 多表left join查询并对结果group by分组之后进行count,max等处理
    免费,主流的在线办公/协作,会议,文档,调查,分享工具推荐(持续维护中)
    多sql查询count合并为一行
  • 原文地址:https://www.cnblogs.com/weiyi1314/p/9443049.html
Copyright © 2011-2022 走看看