From 6b882d5bd1b31215f92f47937a9c17d0009bbae5 Mon Sep 17 00:00:00 2001 From: James Mitchell Date: Sun, 20 Jan 2008 06:45:09 +0000 Subject: [PATCH] WW-2094 File upload - maximum size valida... git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@613513 13f79535-47bb-0310-9956-ffa450edef68 --- .../multipart/PellMultiPartRequest.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java b/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java index f6ff1302b..c143061ca 100644 --- a/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java +++ b/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java @@ -49,17 +49,24 @@ public class PellMultiPartRequest implements MultiPartRequest { private ServletMultipartRequest multi; private String defaultEncoding; + private boolean maxSizeProvided; + private int maxSize; @Inject(StrutsConstants.STRUTS_I18N_ENCODING) public void setDefaultEncoding(String enc) { this.defaultEncoding = enc; } + @Inject(StrutsConstants.STRUTS_MULTIPART_MAXSIZE) + public void setMaxSize(String maxSize) { + this.maxSizeProvided = true; + this.maxSize = Integer.parseInt(maxSize); + } + /** * Creates a new request wrapper to handle multi-part data using methods adapted from Jason Pell's * multipart classes (see class description). * - * @param maxSize maximum size post allowed * @param saveDir the directory to save off the file * @param servletRequest the request containing the multipart */ @@ -68,7 +75,11 @@ public class PellMultiPartRequest implements MultiPartRequest { //calling the constructor. See javadoc for MultipartRequest.setEncoding(). synchronized (this) { setEncoding(); - multi = new ServletMultipartRequest(servletRequest, saveDir); + if (maxSizeProvided){ + multi = new ServletMultipartRequest(servletRequest, saveDir, maxSize); + }else{ + multi = new ServletMultipartRequest(servletRequest, saveDir); + } } }