|
Apache Tomcat 6.0.53 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.tomcat.util.http.fileupload.FileUploadBase
public abstract class FileUploadBase
High level API for processing file uploads.
This class handles multiple files per single HTML widget, sent using
multipart/mixed
encoding type, as specified by
RFC 1867. Use parseRequest(HttpServletRequest)
to acquire a list of FileItem
s associated with a given HTML
widget.
How the data for individual parts is stored is determined by the factory used to create them; a given part may be in memory, on disk, or somewhere else.
Nested Class Summary | |
---|---|
static class |
FileUploadBase.InvalidContentTypeException
Thrown to indicate that the request is not a multipart request. |
static class |
FileUploadBase.SizeLimitExceededException
Thrown to indicate that the request size exceeds the configured maximum. |
static class |
FileUploadBase.UnknownSizeException
Thrown to indicate that the request size is not specified. |
Field Summary | |
---|---|
static java.lang.String |
ATTACHMENT
Content-disposition value for file attachment. |
static java.lang.String |
CONTENT_DISPOSITION
HTTP content disposition header name. |
static java.lang.String |
CONTENT_TYPE
HTTP content type header name. |
static java.lang.String |
FORM_DATA
Content-disposition value for form data. |
static int |
MAX_HEADER_SIZE
The maximum length of a single header line that will be parsed (1024 bytes). |
static java.lang.String |
MULTIPART
Part of HTTP content type header. |
static java.lang.String |
MULTIPART_FORM_DATA
HTTP content type header for multipart forms. |
static java.lang.String |
MULTIPART_MIXED
HTTP content type header for multiple uploads. |
Constructor Summary | |
---|---|
FileUploadBase()
|
Method Summary | |
---|---|
protected FileItem |
createItem(java.util.Map headers,
boolean isFormField)
Creates a new FileItem instance. |
protected java.lang.String |
getFieldName(java.util.Map headers)
Retrieves the field name from the Content-disposition
header. |
abstract FileItemFactory |
getFileItemFactory()
Returns the factory class used when creating file items. |
protected java.lang.String |
getFileName(java.util.Map headers)
Retrieves the file name from the Content-disposition
header. |
protected java.lang.String |
getHeader(java.util.Map headers,
java.lang.String name)
Returns the header with the specified name from the supplied map. |
java.lang.String |
getHeaderEncoding()
Retrieves the character encoding used when reading the headers of an individual part. |
long |
getSizeMax()
Returns the maximum allowed upload size. |
static boolean |
isMultipartContent(javax.servlet.http.HttpServletRequest req)
Utility method that determines whether the request contains multipart content. |
protected java.util.Map |
parseHeaders(java.lang.String headerPart)
Parses the header-part and returns as key/value
pairs. |
java.util.List |
parseRequest(javax.servlet.http.HttpServletRequest req)
Processes an RFC 1867 compliant multipart/form-data stream. |
abstract void |
setFileItemFactory(FileItemFactory factory)
Sets the factory class to use when creating file items. |
void |
setHeaderEncoding(java.lang.String encoding)
Specifies the character encoding to be used when reading the headers of individual parts. |
void |
setSizeMax(long sizeMax)
Sets the maximum allowed upload size. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CONTENT_TYPE
public static final java.lang.String CONTENT_DISPOSITION
public static final java.lang.String FORM_DATA
public static final java.lang.String ATTACHMENT
public static final java.lang.String MULTIPART
public static final java.lang.String MULTIPART_FORM_DATA
public static final java.lang.String MULTIPART_MIXED
public static final int MAX_HEADER_SIZE
Constructor Detail |
---|
public FileUploadBase()
Method Detail |
---|
public static final boolean isMultipartContent(javax.servlet.http.HttpServletRequest req)
req
- The servlet request to be evaluated. Must be non-null.
true
if the request is multipart;
false
otherwise.public abstract FileItemFactory getFileItemFactory()
public abstract void setFileItemFactory(FileItemFactory factory)
factory
- The factory class for new file items.public long getSizeMax()
setSizeMax(long)
public void setSizeMax(long sizeMax)
sizeMax
- The maximum allowed size, in bytes, or -1 for no maximum.getSizeMax()
public java.lang.String getHeaderEncoding()
null
, the platform
default encoding is used.
public void setHeaderEncoding(java.lang.String encoding)
null
, the platform
default encoding is used.
encoding
- The encoding used to read part headers.public java.util.List parseRequest(javax.servlet.http.HttpServletRequest req) throws FileUploadException
multipart/form-data
stream. If files are stored
on disk, the path is given by getRepository()
.
req
- The servlet request to be parsed.
FileItem
instances parsed from the
request, in the order that they were transmitted.
FileUploadException
- if there are problems reading/parsing
the request or storing files.protected java.lang.String getFileName(java.util.Map headers)
Content-disposition
header.
headers
- A Map
containing the HTTP request headers.
encapsulation
.protected java.lang.String getFieldName(java.util.Map headers)
Content-disposition
header.
headers
- A Map
containing the HTTP request headers.
encapsulation
.protected FileItem createItem(java.util.Map headers, boolean isFormField) throws FileUploadException
FileItem
instance.
headers
- A Map
containing the HTTP request
headers.isFormField
- Whether or not this item is a form field, as
opposed to a file.
FileItem
instance.
FileUploadException
- if an error occurs.protected java.util.Map parseHeaders(java.lang.String headerPart)
Parses the header-part
and returns as key/value
pairs.
If there are multiple headers of the same names, the name will map to a comma-separated list containing the values.
headerPart
- The header-part
of the current
encapsulation
.
Map
containing the parsed HTTP request headers.protected final java.lang.String getHeader(java.util.Map headers, java.lang.String name)
headers
- A Map
containing the HTTP request headers.name
- The name of the header to return.
|
Apache Tomcat 6.0.53 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |