我在应用程序中要求上传任何类型的文件。已经使用了Struts2文件上传拦截器,但我在Struts文档中找不到任何直接引用来设置超时以终止文件上传。
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
Struts常量:
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.devMode" value="false" />
<constant name="struts.i18n.reload" value="false" />
<constant name="struts.configuration.xml.reload" value="false" />
<constant name="struts.custom.i18n.resources"
value="/resources/naps_messages_en,/resources/naps_label_en,/resources/naps_gpcs_err_cd" />
<constant name="struts.multipart.saveDir" value="D:/tempFile" />
<constant name="struts.multipart.maxSize" value="2000000000" />
<constant name="struts.serve.static" value="true" />
<constant name="struts.freemarker.mru.max.strong.size" value="550" />
<constant name="struts.freemarker.templatesCache" value="true" />
<constant name="struts.freemarker.templatesCache.updateDelay"
value="1800" />
Apache Common utils用于上传从Struts Action调用的文件
FileUtils.copyFile(fileUpload, saveFilePath);
允许的最长上传时间为5分钟。如果上传时间超过5分钟,则用户将收到一条消息,指出发生了超时,并且由于网络问题导致文件无法上传。稍后用户将此类文件移交给应用程序所有者,以便可以将此类文件手动上载到NAS存储。 http://struts.apache.org/docs/file-upload.html
使用Struts配置或此类超时处理的任何可能方法都应该在Struts外部处理。