【发布时间】:2011-01-27 20:13:54
【问题描述】:
我正在尝试在 JSP/Struts2 中实现文件上传,但我注意到了一个奇怪的行为。 我在 struts.xml 中以这种方式声明了我的操作,以将文件大小限制为 1MB
<action name="massInsert" class="massInsertAction">
<interceptor-ref name="fileUpload">
<param name="allowedTypes">
image/png,image/gif,image/jpeg
</param>
<param name="maximumSize">1000000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
<result name="success">/WEB-INF/jsp/massInsert/massInsert.jsp</result>
<result name="validationError">/WEB-INF/jsp/massInsert/massInsert.jsp</result>
</action>
它工作得很好,非图像文件和超过 1MB 的图像会引发错误。 唯一的问题是,太大的文件在被删除之前已经完全上传到服务器临时文件夹中。
有没有办法在达到限制后立即停止上传?
编辑: Quaternion 的解决方案有效,当请求超过以下行设置的最大值时,将引发错误并且一切都停止。没有文件写入磁盘
<constant name="struts.multipart.maxSize" value="1000000" />
【问题讨论】: