You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by jm...@apache.org on 2002/06/07 01:59:29 UTC
cvs commit: jakarta-commons-sandbox/fileupload/src/java/org/apache/commons/fileupload DefaultFileItem.java FileUpload.java
jmcnally 2002/06/06 16:59:29
Modified: fileupload/src/java/org/apache/commons/fileupload
DefaultFileItem.java FileUpload.java
Log:
reverting change to apply url decoding to the headers and form data.
also allowing all options to be set in within a single method call to parse the
request. This could be useful if different requests would be stored in
different locations or have different a different maximum allowable size.
Revision Changes Path
1.6 +1 -7 jakarta-commons-sandbox/fileupload/src/java/org/apache/commons/fileupload/DefaultFileItem.java
Index: DefaultFileItem.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/fileupload/src/java/org/apache/commons/fileupload/DefaultFileItem.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DefaultFileItem.java 18 Apr 2002 16:10:28 -0000 1.5
+++ DefaultFileItem.java 6 Jun 2002 23:59:29 -0000 1.6
@@ -54,7 +54,6 @@
* <http://www.apache.org/>.
*/
-import java.net.URLDecoder;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.BufferedInputStream;
@@ -92,7 +91,7 @@
* @author <a href="mailto:sean@informage.net">Sean Legassick</a>
* @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
* @author <a href="mailto:jmcnally@apache.org">John McNally</a>
- * @version $Id: DefaultFileItem.java,v 1.5 2002/04/18 16:10:28 jmcnally Exp $
+ * @version $Id: DefaultFileItem.java,v 1.6 2002/06/06 23:59:29 jmcnally Exp $
*/
public class DefaultFileItem
implements FileItem
@@ -250,11 +249,6 @@
byteStream = null;
}
}
- if (isFormField())
- {
- // client may have encoded the parameter
- content = URLDecoder.decode(new String(content)).getBytes();
- }
return content;
}
1.4 +24 -15 jakarta-commons-sandbox/fileupload/src/java/org/apache/commons/fileupload/FileUpload.java
Index: FileUpload.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/fileupload/src/java/org/apache/commons/fileupload/FileUpload.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FileUpload.java 18 Apr 2002 16:10:28 -0000 1.3
+++ FileUpload.java 6 Jun 2002 23:59:29 -0000 1.4
@@ -54,7 +54,6 @@
* <http://www.apache.org/>.
*/
-import java.net.URLDecoder;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -88,7 +87,7 @@
* @author <a href="mailto:dlr@collab.net">Daniel Rall</a>
* @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
* @author <a href="mailto:jmcnally@collab.net">John McNally</a>
- * @version $Id: FileUpload.java,v 1.3 2002/04/18 16:10:28 jmcnally Exp $
+ * @version $Id: FileUpload.java,v 1.4 2002/06/06 23:59:29 jmcnally Exp $
*/
public class FileUpload
{
@@ -115,7 +114,7 @@
/**
* Part of HTTP header.
*/
- public static final String MULTIPART =
+ private static final String MULTIPART =
"multipart/";
/**
@@ -152,7 +151,8 @@
public List parseRequest(HttpServletRequest req)
throws FileUploadException
{
- return parseRequest(req, getRepositoryPath());
+ return parseRequest(req, getSizeThreshold(), getSizeMax(),
+ getRepositoryPath());
}
/**
@@ -160,11 +160,14 @@
* compliant <code>multipart/form-data</code> stream.
*
* @param req The servlet request to be parsed.
+ * @param sizeThreshold the max size in bytes to be stored in memory
+ * @param sizeMax the maximum allowed upload size in bytes
* @param path The location where the files should be stored.
* @exception FileUploadException If there are problems reading/parsing
* the request or storing files.
*/
- public List parseRequest(HttpServletRequest req, String path)
+ public List parseRequest(HttpServletRequest req, int sizeThreshold,
+ int sizeMax, String path)
throws FileUploadException
{
ArrayList items = new ArrayList();
@@ -183,7 +186,7 @@
"it's size is unknown");
}
- if(getSizeMax() >= 0 && requestSize > getSizeMax())
+ if(sizeMax >= 0 && requestSize > sizeMax)
{
throw new FileUploadException("the request was rejected because " +
"it's size exceeds allowed range");
@@ -220,8 +223,9 @@
headers = parseHeaders(multi.readHeaders());
if (getFileName(headers) != null)
{
- FileItem item = createItem(path, headers,
- requestSize);
+ FileItem item =
+ createItem(sizeThreshold, path,
+ headers, requestSize);
OutputStream os =
((DefaultFileItem)item).getOutputStream();
try
@@ -250,7 +254,8 @@
if (getFileName(headers) != null)
{
// A single file.
- FileItem item = createItem(path, headers,
+ FileItem item = createItem(sizeThreshold,
+ path, headers,
requestSize);
OutputStream os =
((DefaultFileItem)item).getOutputStream();
@@ -268,7 +273,8 @@
else
{
// A form field.
- FileItem item = createItem(path, headers,
+ FileItem item = createItem(sizeThreshold,
+ path, headers,
requestSize);
OutputStream os =
((DefaultFileItem)item).getOutputStream();
@@ -325,9 +331,9 @@
{
fileName = str;
}
- }
+ }
}
- return URLDecoder.decode(fileName);
+ return fileName;
}
/**
@@ -349,7 +355,7 @@
fieldName = cd.substring(start + 6, end);
}
}
- return URLDecoder.decode(fieldName);
+ return fieldName;
}
/**
@@ -361,12 +367,13 @@
* @param requestSize The size of the request.
* @return A newly created <code>FileItem</code>.
*/
- protected FileItem createItem( String path,
+ protected FileItem createItem( int sizeThreshold,
+ String path,
Map headers,
int requestSize )
{
return DefaultFileItem.newInstance(path, getFileName(headers),
- getHeader(headers, CONTENT_TYPE), requestSize, getSizeThreshold());
+ getHeader(headers, CONTENT_TYPE), requestSize, sizeThreshold);
}
/**
@@ -474,6 +481,7 @@
/**
* The threshold beyond which files are written directly to disk.
+ * Default is 1024 bytes.
*/
public int getSizeThreshold()
{
@@ -483,6 +491,7 @@
/**
* The threshold beyond which files are written directly to disk.
+ * Default is 1024 bytes.
*/
public void setSizeThreshold(int v)
{
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>