struts2中文件上传的二个限制,一个是struts.multipart.maxSize,如果不设置,struts2 的核心包下的default.properties文件里有默认的大小设置struts.multipart.maxSize=2097152,即2M. 这是struts2文件上传的第一次进行大小判定.
第二次大小判定是action中inteceptor的maximumSize.
上传的文件大小需通过第一次大小判定.再针对不同的action中配置的inteceptor,maximumSize才能发挥相应的拦截作用.
即首先在struts.xml 加入<constant name=“struts.multipart.maxSize” value=“文件上传的大小(字节数)”/> 这将是第一次进行大小判定的标准,如果上传文件的字节比该设置
的字节数大,则会抛出异常. 当然第二次的拦截就不起作用了.
如果第一次拦截,通过了. 将会进入第二次拦截,即在上传时调用的action中再配置,该action允许上传的大小.
<action name="upload" class="uploadAction">
<interceptor-ref name="fileUpload">
<param name="maximumSize">该action接收文件的大小</param>
</interceptor-ref>
</action>