| java.lang.Object com.oreilly.servlet.MultipartRequest
MultipartRequest | public class MultipartRequest implements HttpServletRequest(Code) | | A utility class to handle multipart/form-data requests,
the kind of requests that support file uploads. This class emulates the
interface of HttpServletRequest , making it familiar to use.
It uses a "push" model where any incoming files are read and saved directly
to disk in the constructor. If you wish to have more flexibility, e.g.
write the files to a database, use the "pull" model
MultipartParser instead.
This class can receive arbitrarily large files (up to an artificial limit
you can set), and fairly efficiently too.
It cannot handle nested data (multipart content within multipart content).
It can now with the latest release handle internationalized content
(such as non Latin-1 filenames).
To avoid collisions and have fine control over file placement, there's a
constructor variety that takes a pluggable FileRenamePolicy implementation.
A particular policy can choose to rename or change the location of the file
before it's written.
See the included upload.war for an example of how to use this class.
The full file upload specification is contained in experimental RFC 1867,
available at
http://www.ietf.org/rfc/rfc1867.txt.
See Also: MultipartParser author: Jason Hunter author: Geoff Soutter version: 1.11, 2002/11/01, combine query string params in param list
version: 1.10, 2002/05/27, added access to the original file names
version: 1.9, 2002/04/30, added support for file renaming, thanks to version: Changshin Lee
version: 1.8, 2002/04/30, added support for internationalization, thanks to version: Changshin Lee
version: 1.7, 2001/02/07, made fields protected to increase user flexibility
version: 1.6, 2000/07/21, redid internals to use MultipartParser, version: thanks to Geoff Soutter
version: 1.5, 2000/02/04, added auto MacBinary decoding for IE on Mac
version: 1.4, 2000/01/05, added getParameterValues(), version: WebSphere 2.x getContentType() workaround, version: stopped writing empty "unknown" file
version: 1.3, 1999/12/28, IE4 on Win98 lastIndexOf("boundary=") version: workaround
version: 1.2, 1999/12/20, IE4 on Mac readNextPart() workaround
version: 1.1, 1999/01/15, JSDK readLine() bug workaround
version: 1.0, 1998/09/18
|
Constructor Summary | |
public | MultipartRequest(HttpServletRequest request, String saveDirectory) Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to 1 Megabyte. | public | MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize) Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. | public | MultipartRequest(HttpServletRequest request, String saveDirectory, String encoding) Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. | public | MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, FileRenamePolicy policy) Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. | public | MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, String encoding) Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. | public | MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, String encoding, FileRenamePolicy policy) Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. | public | MultipartRequest(ServletRequest request, String saveDirectory) Constructor with an old signature, kept for backward compatibility.
Without this constructor, a servlet compiled against a previous version
of this class (pre 1.4) would have to be recompiled to link with this
version. | public | MultipartRequest(ServletRequest request, String saveDirectory, int maxPostSize) Constructor with an old signature, kept for backward compatibility.
Without this constructor, a servlet compiled against a previous version
of this class (pre 1.4) would have to be recompiled to link with this
version. |
bRequestedSessionIdFromCookie | protected boolean bRequestedSessionIdFromCookie(Code) | | |
bRequestedSessionIdFromURL | protected boolean bRequestedSessionIdFromURL(Code) | | |
bRequestedSessionIdValid | protected boolean bRequestedSessionIdValid(Code) | | |
contentlength | protected int contentlength(Code) | | |
MultipartRequest | public MultipartRequest(HttpServletRequest request, String saveDirectory) throws IOException(Code) | | Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to 1 Megabyte. If the content is too large, an
IOException is thrown. This constructor actually parses the
multipart/form-data and throws an IOException if there's any
problem reading or parsing the request.
Parameters: request - the servlet request. Parameters: saveDirectory - the directory in which to save any uploaded files. exception: IOException - if the uploaded content is larger than 1 Megabyteor there's a problem reading or parsing the request. |
MultipartRequest | public MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize) throws IOException(Code) | | Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. If the content is too large, an
IOException is thrown. This constructor actually parses the
multipart/form-data and throws an IOException if there's any
problem reading or parsing the request.
Parameters: request - the servlet request. Parameters: saveDirectory - the directory in which to save any uploaded files. Parameters: maxPostSize - the maximum size of the POST content. exception: IOException - if the uploaded content is larger thanmaxPostSize or there's a problem reading or parsing the request. |
MultipartRequest | public MultipartRequest(HttpServletRequest request, String saveDirectory, String encoding) throws IOException(Code) | | Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. If the content is too large, an
IOException is thrown. This constructor actually parses the
multipart/form-data and throws an IOException if there's any
problem reading or parsing the request.
Parameters: request - the servlet request. Parameters: saveDirectory - the directory in which to save any uploaded files. Parameters: encoding - the encoding of the response, such as ISO-8859-1 exception: IOException - if the uploaded content is larger than1 Megabyte or there's a problem reading or parsing the request. |
MultipartRequest | public MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, FileRenamePolicy policy) throws IOException(Code) | | Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. If the content is too large, an
IOException is thrown. This constructor actually parses the
multipart/form-data and throws an IOException if there's any
problem reading or parsing the request.
Parameters: request - the servlet request. Parameters: saveDirectory - the directory in which to save any uploaded files. Parameters: maxPostSize - the maximum size of the POST content. Parameters: encoding - the encoding of the response, such as ISO-8859-1 exception: IOException - if the uploaded content is larger thanmaxPostSize or there's a problem reading or parsing the request. |
MultipartRequest | public MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, String encoding) throws IOException(Code) | | Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. If the content is too large, an
IOException is thrown. This constructor actually parses the
multipart/form-data and throws an IOException if there's any
problem reading or parsing the request.
Parameters: request - the servlet request. Parameters: saveDirectory - the directory in which to save any uploaded files. Parameters: maxPostSize - the maximum size of the POST content. Parameters: encoding - the encoding of the response, such as ISO-8859-1 exception: IOException - if the uploaded content is larger thanmaxPostSize or there's a problem reading or parsing the request. |
MultipartRequest | public MultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, String encoding, FileRenamePolicy policy) throws IOException(Code) | | Constructs a new MultipartRequest to handle the specified request,
saving any uploaded files to the given directory, and limiting the
upload size to the specified length. If the content is too large, an
IOException is thrown. This constructor actually parses the
multipart/form-data and throws an IOException if there's any
problem reading or parsing the request.
To avoid file collisions, this constructor takes an implementation of the
FileRenamePolicy interface to allow a pluggable rename policy.
Parameters: request - the servlet request. Parameters: saveDirectory - the directory in which to save any uploaded files. Parameters: maxPostSize - the maximum size of the POST content. Parameters: encoding - the encoding of the response, such as ISO-8859-1 Parameters: policy - a pluggable file rename policy exception: IOException - if the uploaded content is larger thanmaxPostSize or there's a problem reading or parsing the request. |
MultipartRequest | public MultipartRequest(ServletRequest request, String saveDirectory) throws IOException(Code) | | Constructor with an old signature, kept for backward compatibility.
Without this constructor, a servlet compiled against a previous version
of this class (pre 1.4) would have to be recompiled to link with this
version. This constructor supports the linking via the old signature.
Callers must simply be careful to pass in an HttpServletRequest.
|
MultipartRequest | public MultipartRequest(ServletRequest request, String saveDirectory, int maxPostSize) throws IOException(Code) | | Constructor with an old signature, kept for backward compatibility.
Without this constructor, a servlet compiled against a previous version
of this class (pre 1.4) would have to be recompiled to link with this
version. This constructor supports the linking via the old signature.
Callers must simply be careful to pass in an HttpServletRequest.
|
getCharacterEncoding | public String getCharacterEncoding()(Code) | | |
getContentLength | public int getContentLength()(Code) | | |
getContentType | public String getContentType(String name)(Code) | | Returns the content type of the specified file (as supplied by the
client browser), or null if the file was not included in the upload.
Parameters: name - the file name. the content type of the file. |
getFile | public File getFile(String name)(Code) | | Returns a File object for the specified file saved on the server's
filesystem, or null if the file was not included in the upload.
Parameters: name - the file name. a File object for the named file. |
getFile | public File getFile(int number)(Code) | | Returns a File object for the specified uploaded file
Parameters: number - int [0..getFileCount()-1] File |
getFileCount | public int getFileCount()(Code) | | number of uploaded files |
getFileNames | public Enumeration getFileNames()(Code) | | Returns the names of all the uploaded files as an Enumeration of
Strings. It returns an empty Enumeration if there are no uploaded
files. Each file name is the name specified by the form, not by
the user.
the names of all the uploaded files as an Enumeration of Strings. |
getFilesystemName | public String getFilesystemName(String name)(Code) | | Returns the filesystem name of the specified file, or null if the
file was not included in the upload. A filesystem name is the name
specified by the user. It is also the name under which the file is
actually saved.
Parameters: name - the file name. the filesystem name of the file. |
getLocalPort | public int getLocalPort()(Code) | | |
getOriginalFileName | public String getOriginalFileName(String name)(Code) | | Returns the original filesystem name of the specified file (before any
renaming policy was applied), or null if the file was not included in
the upload. A filesystem name is the name specified by the user.
Parameters: name - the file name. the original file name of the file. |
getParameter | public String getParameter(String name)(Code) | | Returns the value of the named parameter as a String, or null if
the parameter was not sent or was sent without a value. The value
is guaranteed to be in its normal, decoded form. If the parameter
has multiple values, only the last one is returned (for backward
compatibility). For parameters with multiple values, it's possible
the last "value" may be null.
Parameters: name - the parameter name. the parameter value. |
getParameterMap | public Map getParameterMap()(Code) | | |
getParameterNames | public Enumeration getParameterNames()(Code) | | Returns the names of all the parameters as an Enumeration of
Strings. It returns an empty Enumeration if there are no parameters.
the names of all the parameters as an Enumeration of Strings. |
getParameterValues | public String[] getParameterValues(String name)(Code) | | Returns the values of the named parameter as a String array, or null if
the parameter was not sent. The array has one entry for each parameter
field sent. If any field was sent without a value that entry is stored
in the array as a null. The values are guaranteed to be in their
normal, decoded form. A single value is returned as a one-element array.
Parameters: name - the parameter name. the parameter values. |
getRemotePort | public int getRemotePort()(Code) | | |
getRequestedSessionId | public String getRequestedSessionId()(Code) | | |
getServerPort | public int getServerPort()(Code) | | |
getServletPath | public String getServletPath()(Code) | | Returns the part of this request's URL that calls the servlet.
Returns the part of this request's URL that calls the servlet.
This includes either the servlet name or a path to the servlet,
but does not include any extra path information or a query string.
Same as the value of the CGI variable SCRIPT_NAME.
String containing the name or path of the servlet being called,as specified in the request URL, decoded. |
isRequestedSessionIdFromCookie | public boolean isRequestedSessionIdFromCookie()(Code) | | |
isRequestedSessionIdFromURL | public boolean isRequestedSessionIdFromURL()(Code) | | |
isRequestedSessionIdFromUrl | public boolean isRequestedSessionIdFromUrl()(Code) | | |
isRequestedSessionIdValid | public boolean isRequestedSessionIdValid()(Code) | | |
isSecure | public boolean isSecure()(Code) | | |
removeAttribute | public void removeAttribute(String sAttrName)(Code) | | |
setCharacterEncoding | public void setCharacterEncoding(String sEncoding)(Code) | | |
|
|