解决Struts2文件上传的大小限制问题

1. 问题描述
	背景:本人用eclipse开发一个基于Struts2.3.16.3_Spring4.1.1_Hibernate4.3.6架构的web项目, 需要用到xhEidtor编辑器, 在上传大文件图片时出现大文件图片上传不了, 也就是说struts限制了大文件的上传, 我们所需要做的就是修改struts.xml文件的参数.
2. 解决方法
	我们可以通过修改struts.xml的参数来解决这个问题。struts.xml参数配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="true" />
	<constant name="struts.devMode" value="false" />
	<!-- 所允许上传文件的总大小 -->
	<constant name="struts.multipart.maxSize" value="60000000"/>
	<!-- 上传过程中临时文件存放目录 -->
	<constant name="struts.multipart.saveDir" value="/temp" />
	<package name="build" extends="struts-default">
		<!-- 图片上传 -->
		<action name="xheditorUpload" class="org.gditc.weicommunity.action.forum.XheditorUploadAction" method="imgUpload">
			<!-- 限制图片的格式和图片的大小 -->
            <interceptor-ref name="fileUpload">
               <!-- <param name="allowedTypes">
                    image/bmp,image/png,image/gif,image/jpeg,image/jpg
                </param> -->
                <!-- 1048576(Bytes) = 1024*1024 = 1M实际文件大小. -->
                <!-- <param name="maximumSize">1048576</param> -->
            </interceptor-ref>
            
            <!-- 默认的拦截器,必须要写 -->
            <interceptor-ref name="defaultStack" />
		</action>
	</package>
	
	<package name="default" namespace="/" extends="struts-default">

		<global-results>
			<result name="error">/error.jsp</result>
		</global-results>
		<global-exception-mappings>
			<exception-mapping exception="java.lang.Exception"
				result="error" />
		</global-exception-mappings>

	</package>



	<!-- <include file="example.xml"/> -->

	<!-- Add packages here -->
	<!-- <include file="config/struts/struts-user.xml" /> -->
	

</struts>
struts.xml文件中的大小与实际文件大小的关系:1048576(Bytes) = 1024*1024 = 1M实际文件大小.
struts.multipart.saveDir 
该属性指定上传文件的临时保存路径,该熟悉的默认值是javax.servlet.context.tempdir. 
struts.multipart.maxSize 
该属性指定struts2文件上传中整个请求内容允许的最大字节数, 默认上传的文件大小为2097152(2m).
 
正如上面所说, 我们只要根据自己上传文件的大小来修改struts.multipart.maxSize的值就可以了, 保证struts.multipart.maxSize的值大于所上传文件的大小即可
 
 
OK, Enjoy it!!!
 
 

                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值