Java 如何使用struts 2上传大文件?
我想用Java 如何使用struts 2上传大文件?,java,tomcat,file-upload,struts2,gradle,Java,Tomcat,File Upload,Struts2,Gradle,我想用struts2和fileupload开发一个带有文件上传机制的web应用程序,它的行为很奇怪,我不知道为什么 我在struts.xml中配置了文件上传机制: <package name="com.actions" namespace="/" extends="struts-default"> <action name="excelupload" class="com.actions.FileuploadAction"> <interceptor-ref
struts2
和fileupload
开发一个带有文件上传机制的web应用程序,它的行为很奇怪,我不知道为什么
我在struts.xml中配置了文件上传机制:
<package name="com.actions" namespace="/" extends="struts-default">
<action name="excelupload" class="com.actions.FileuploadAction">
<interceptor-ref name="fileUpload">
<param name="maximumSize">10000000</param>
</interceptor-ref>
<result name="success">/fileupload.jsp</result>
<result name="input">/fileupload.jsp</result>
</action>
</package>
当我上传一个小文件时,一切正常。但当我尝试上载大于2MB的文件时,应用程序会引发以下异常:
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request
was rejected because its size (3244109) exceeds the configured maximum (2097152)
为了解决这个问题,我尝试使用添加一个struts default.properties
struts.multipart.maxSize=20097152
应用程序类路径的根目录
这修复了异常,但现在无论文件有多大,excelfile
始终为null
有人知道我做错了什么吗
编辑:对于部署,我使用Tomcat
编辑:添加了缺少的getter和setter方法。我可以通过删除
<interceptor-ref name="fileUpload">
<param name="maximumSize">10000000</param>
</interceptor-ref>
10000000
从
struts.xml
检查您正在使用的服务器的最大文件上载大小限制。我已经在struts.xml中尝试过了。您的文件excelFile
是否有getter和setter?是的,由eclipse自动构造。您可能需要在操作中设置文件的mime类型。浏览此链接,希望对您有所帮助。
struts.multipart.maxSize=20097152
<interceptor-ref name="fileUpload">
<param name="maximumSize">10000000</param>
</interceptor-ref>