struts2 文件上传大小的限制
程序员文章站
2022-03-03 08:46:59
...
在defalut.properties配置项目文件上传大小(全局作用,优先级最高):
struts.multipart.maxSize=2097152
在struts-default.xml中配置文件拦截器上传大小(全局作用,优先级低于maxSize): maximumSize
<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
上传文件与其他两者的关系为:
struts.multipart.maxSize 为项目全局配置的文件上传大小限制,影响全局上传
fileUploadInterceptor中maximumSize也作用域全局,但优先级低于前者
即:struts.multipart.maxSize > Interceptor maximumSize > 上传文件大小
===================================================================
以下为转载
原文链接:http://blog.sina.com.cn/s/blog_5dc034a30100ooj6.html
使用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。
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,上传成功。
当上传的文件在struts.multipart.maxSize和maximumSize之间时,系统提示:
File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104
当上传的文件小于maximumSize,上传成功。
上一篇: python相关知识点
下一篇: root创建用户并赋予权限