aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/terminal/ajax/ServletMultipartRequest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/itmill/toolkit/terminal/ajax/ServletMultipartRequest.java')
-rw-r--r--src/com/itmill/toolkit/terminal/ajax/ServletMultipartRequest.java113
1 files changed, 113 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/terminal/ajax/ServletMultipartRequest.java b/src/com/itmill/toolkit/terminal/ajax/ServletMultipartRequest.java
new file mode 100644
index 0000000000..54dc518ffd
--- /dev/null
+++ b/src/com/itmill/toolkit/terminal/ajax/ServletMultipartRequest.java
@@ -0,0 +1,113 @@
+/* *************************************************************************
+
+ IT Mill Toolkit
+
+ Development of Browser User Intarfaces Made Easy
+
+ Copyright (C) 2000-2006 IT Mill Ltd
+
+ *************************************************************************
+
+ This product is distributed under commercial license that can be found
+ from the product package on license/license.txt. Use of this product might
+ require purchasing a commercial license from IT Mill Ltd. For guidelines
+ on usage, see license/licensing-guidelines.html
+
+ *************************************************************************
+
+ For more information, contact:
+
+ IT Mill Ltd phone: +358 2 4802 7180
+ Ruukinkatu 2-4 fax: +358 2 4802 7181
+ 20540, Turku email: info@itmill.com
+ Finland company www: www.itmill.com
+
+ Primary source for information and releases: www.itmill.com
+
+ ********************************************************************** */
+
+package com.itmill.toolkit.terminal.ajax;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletRequest;
+
+/** This class wraps the MultipartRequest class by Jason Pell
+ * for the Servlet environment.
+ *
+ * @author IT Mill Ltd
+ * @version @VERSION@
+ * @since 3.0
+ */
+public class ServletMultipartRequest extends MultipartRequest
+{
+ /**
+ * Constructor wrapper, unwraps the InputStream,
+ * content type and content lenght from the servlet request object.
+ *
+ * @param request The HttpServletRequest will be used to initialise the MultipartRequest super class.
+ * @param strSaveDirectory The temporary directory to save the file from where they can then be moved to wherever by the
+ * calling process. <b>If you specify <u>null</u> for this parameter, then any files uploaded
+ * will be silently ignored.</B>
+ *
+ * @exception IllegalArgumentException If the request.getContentType() does not contain a Content-Type of "multipart/form-data" or the boundary is not found.
+ * @exception IOException If the request.getContentLength() is higher than MAX_READ_BYTES or strSaveDirectory is invalid or cannot be written to.
+ *
+ * @see MultipartRequest#MAX_READ_BYTES
+ */
+ public ServletMultipartRequest(HttpServletRequest request, String strSaveDirectory) throws IllegalArgumentException, IOException
+ {
+ super(null,
+ request.getContentType(),
+ request.getContentLength(),
+ request.getInputStream(),
+ strSaveDirectory,
+ MultipartRequest.MAX_READ_BYTES);
+ }
+
+ /**
+ * Constructor wrapper, unwraps the InputStream,
+ * content type and content lenght from the servlet request object.
+ * Also allow to explicitly set the max permissable lenght of the request.
+ *
+ * @param request The HttpServletRequest will be used to initialise the MultipartRequest super class.
+ * @param strSaveDirectory The temporary directory to save the file from where they can then be moved to wherever by the
+ * calling process. <b>If you specify <u>null</u> for this parameter, then any files uploaded
+ * will be silently ignored.</B>
+ * @param intMaxReadBytes Overrides the MAX_BYTES_READ value, to allow arbitrarily long files.
+ *
+ * @exception IllegalArgumentException If the request.getContentType() does not contain a Content-Type of "multipart/form-data" or the boundary is not found.
+ * @exception IOException If the request.getContentLength() is higher than MAX_READ_BYTES or strSaveDirectory is invalid or cannot be written to.
+ *
+ * @see MultipartRequest#MAX_READ_BYTES
+ */
+ public ServletMultipartRequest(HttpServletRequest request, String strSaveDirectory, int intMaxReadBytes) throws IllegalArgumentException, IOException
+ {
+ super(null,
+ request.getContentType(),
+ request.getContentLength(),
+ request.getInputStream(),
+ strSaveDirectory,
+ intMaxReadBytes);
+ }
+
+ /**
+ * Constructor wrapper for loading the request into memory rather than temp-file.
+ *
+ * @param request The HttpServletRequest will be used to initialise the MultipartRequest super class.
+ * @param intMaxReadBytes Overrides the MAX_BYTES_READ value, to allow arbitrarily long files.
+ *
+ * @exception IllegalArgumentException If the request.getContentType() does not contain a Content-Type of "multipart/form-data" or the boundary is not found.
+ * @exception IOException If the request.getContentLength() is higher than MAX_READ_BYTES or strSaveDirectory is invalid or cannot be written to.
+ *
+ * @see MultipartRequest#MAX_READ_BYTES
+ */
+ public ServletMultipartRequest(HttpServletRequest request, int intMaxReadBytes) throws IllegalArgumentException, IOException
+ {
+ super(null,
+ request.getContentType(),
+ request.getContentLength(),
+ request.getInputStream(),
+ intMaxReadBytes);
+ }
+}