|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object portal.core.upload.FileUpload
High level API for processing file uploads.
This class handles multiple files per single HTML widget, sent using
< code > multipart / mixed < / code > encoding type, as specified by
RFC 1867. Use parseRequest(HttpServletRequest)
to acquire a list of org.apache.commons.fileupload.FileItem
s associated with a given HTML
widget.
Files will be stored in temporary disk storage or in memory,
depending on request size, and will be available as org.apache.commons.fileupload.FileItem
s.
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_FORM_DATA
HTTP content type header for multipart forms. |
static java.lang.String |
MULTIPART_MIXED
HTTP content type header for multiple uploads. |
Constructor Summary | |
FileUpload()
|
Method Summary | |
protected FileItem |
createItem(int pSizeThreshold,
java.lang.String path,
java.util.Map headers,
int requestSize)
Creates a new org.apache.commons.fileupload.FileItem instance. |
protected java.lang.String |
getFieldName(java.util.Map headers)
Retrieves the field name from the Content-disposition
header. |
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 |
getRepositoryPath()
Returns the location used to temporarily store files that are larger than the configured size threshold. |
int |
getSizeMax()
Returns the maximum allowed upload size. |
int |
getSizeThreshold()
Returns the size threshold beyond which files are written directly to disk. |
static boolean |
isMultipartContent(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(HttpServletRequest request)
Processes an RFC 1867 compliant multipart/form-data stream. |
java.util.List |
parseRequest(HttpServletRequest request,
int pSizeThreshold,
int pSizeMax,
java.lang.String pPath)
Processes an RFC 1867 compliant multipart/form-data stream. |
void |
setRepositoryPath(java.lang.String repositoryPath)
Sets the location used to temporarily store files that are larger than the configured size threshold. |
void |
setSizeMax(int sizeMax)
Sets the maximum allowed upload size. |
void |
setSizeThreshold(int sizeThreshold)
Sets the size threshold beyond which files are written directly to disk. |
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_FORM_DATA
public static final java.lang.String MULTIPART_MIXED
public static final int MAX_HEADER_SIZE
Constructor Detail |
public FileUpload()
Method Detail |
public static final boolean isMultipartContent(HttpServletRequest req)
req
- The servlet request to be evaluated. Must be non-null.
true
if the request is multipart;
false
otherwise.public int getSizeMax()
setSizeMax(int)
public void setSizeMax(int sizeMax)
sizeMax
- The maximum allowed size, in bytes, or -1 for no maximum.getSizeMax()
public int getSizeThreshold()
setSizeThreshold(int)
public void setSizeThreshold(int sizeThreshold)
sizeThreshold
- The size threshold, in bytes.getSizeThreshold()
public java.lang.String getRepositoryPath()
setRepositoryPath(String)
public void setRepositoryPath(java.lang.String repositoryPath)
repositoryPath
- The path to the temporary file location.getRepositoryPath()
public java.util.List parseRequest(HttpServletRequest request) throws PortalProcessException
multipart/form-data
stream. If files are stored
on disk, the path is given by getRepositoryPath()
.
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.
PortalProcessException
public java.util.List parseRequest(HttpServletRequest request, int pSizeThreshold, int pSizeMax, java.lang.String pPath) throws PortalProcessException
multipart/form-data
stream. If files are stored
on disk, the path is given by getRepositoryPath()
.
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.
PortalProcessException
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(int pSizeThreshold, java.lang.String path, java.util.Map headers, int requestSize) throws PortalProcessException
org.apache.commons.fileupload.FileItem
instance.
path
- The path for the FileItem.headers
- A Map
containing the HTTP request
headers.requestSize
- The total size of the request, in bytes.
FileItem
instance.
FileUploadException
- if an error occurs.
PortalProcessException
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.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |