我想在JSP/Struts2中實現文件上傳,並且我注意到了一個奇怪的行爲。 我宣佈我的行動struts.xml中那種方式的文件大小限制爲1MB限制Struts2文件上傳的最大尺寸沒有上傳整個文件
<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非圖像文件和圖像拋出一個錯誤。 唯一的問題是太大的文件在被刪除之前無論如何都已完全上傳到服務器的臨時文件夾中。
一旦達到限制,是否有辦法阻止上傳?
編輯: 四元數的解決方案有效,當請求越過下面的行拋出一個錯誤,一切都停止設置最大。沒有文件被寫入磁盤
<constant name="struts.multipart.maxSize" value="1000000" />