org.apache.commons.fileupload
Class FileUploadBase
java.lang.Object
org.apache.commons.fileupload.FileUploadBase
public abstract class FileUploadBase
extends java.lang.Object
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.
Version:
- Rafal Krzewski
- Daniel Rall
- Jason van Zyl
- John McNally
- Martin Cooper
- Sean C. Sullivan
static String | ATTACHMENT - Content-disposition value for file attachment.
|
static String | CONTENT_DISPOSITION - HTTP content disposition header name.
|
static String | CONTENT_TYPE - HTTP content type header name.
|
static 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 String | MULTIPART - Part of HTTP content type header.
|
static String | MULTIPART_FORM_DATA - HTTP content type header for multipart forms.
|
static String | MULTIPART_MIXED - HTTP content type header for multiple uploads.
|
private String | headerEncoding - The content encoding to use when reading part headers.
|
private long | sizeMax - The maximum size permitted for an uploaded file.
|
protected FileItem | createItem(Map headers, boolean isFormField) - Creates a new
FileItem instance.
|
protected String | getFieldName(Map headers) - Retrieves the field name from the
Content-disposition
header.
|
FileItemFactory | getFileItemFactory() - Returns the factory class used when creating file items.
|
protected String | getFileName(Map headers) - Retrieves the file name from the
Content-disposition
header.
|
protected String | getHeader(Map headers, String name) - Returns the header with the specified name from the supplied map.
|
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(HttpServletRequest req) - Utility method that determines whether the request contains multipart
content.
|
protected Map | parseHeaders(String headerPart) - Parses the
header-part and returns as key/value
pairs.
|
List | parseRequest(HttpServletRequest req) - Processes an RFC 1867
compliant
multipart/form-data stream.
|
void | setFileItemFactory(FileItemFactory factory) - Sets the factory class to use when creating file items.
|
void | setHeaderEncoding(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.
|
ATTACHMENT
public static final String ATTACHMENT
Content-disposition value for file attachment.
CONTENT_DISPOSITION
public static final String CONTENT_DISPOSITION
HTTP content disposition header name.
CONTENT_TYPE
public static final String CONTENT_TYPE
HTTP content type header name.
FORM_DATA
public static final String FORM_DATA
Content-disposition value for form data.
MAX_HEADER_SIZE
public static final int MAX_HEADER_SIZE
The maximum length of a single header line that will be parsed
(1024 bytes).
- 1024
MULTIPART
public static final String MULTIPART
Part of HTTP content type header.
MULTIPART_FORM_DATA
public static final String MULTIPART_FORM_DATA
HTTP content type header for multipart forms.
MULTIPART_MIXED
public static final String MULTIPART_MIXED
HTTP content type header for multiple uploads.
headerEncoding
private String headerEncoding
The content encoding to use when reading part headers.
sizeMax
private long sizeMax
The maximum size permitted for an uploaded file. A value of -1 indicates
no maximum.
createItem
protected FileItem createItem(Map headers,
boolean isFormField)
throws FileUploadException
headers
- A Map
containing the HTTP request
headers.isFormField
- Whether or not this item is a form field, as
opposed to a file.
- A newly created
FileItem
instance.
FileUploadException
- if an error occurs.
getFieldName
protected String getFieldName(Map headers)
Retrieves the field name from the Content-disposition
header.
headers
- A Map
containing the HTTP request headers.
- The field name for the current
encapsulation
.
getFileItemFactory
public FileItemFactory getFileItemFactory()
Returns the factory class used when creating file items.
- The factory class for new file items.
getFileName
protected String getFileName(Map headers)
Retrieves the file name from the Content-disposition
header.
headers
- A Map
containing the HTTP request headers.
- The file name for the current
encapsulation
.
getHeader
protected final String getHeader(Map headers,
String name)
Returns the header with the specified name from the supplied map. The
header lookup is case-insensitive.
headers
- A Map
containing the HTTP request headers.name
- The name of the header to return.
- The value of specified header, or a comma-separated list if
there were multiple headers of that name.
getHeaderEncoding
public String getHeaderEncoding()
Retrieves the character encoding used when reading the headers of an
individual part. When not specified, or null
, the platform
default encoding is used.
- The encoding used to read part headers.
getSizeMax
public long getSizeMax()
Returns the maximum allowed upload size.
- The maximum allowed size, in bytes.
setSizeMax(long)
isMultipartContent
public static final boolean isMultipartContent(HttpServletRequest req)
Utility method that determines whether the request contains multipart
content.
req
- The servlet request to be evaluated. Must be non-null.
true
if the request is multipart;
false
otherwise.
parseHeaders
protected Map parseHeaders(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
.
- A
Map
containing the parsed HTTP request headers.
parseRequest
public List parseRequest(HttpServletRequest req)
throws FileUploadException
Processes an
RFC 1867
compliant
multipart/form-data
stream. If files are stored
on disk, the path is given by
getRepository()
.
req
- The servlet request to be parsed.
- A list of
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.
setFileItemFactory
public void setFileItemFactory(FileItemFactory factory)
Sets the factory class to use when creating file items.
factory
- The factory class for new file items.
setHeaderEncoding
public void setHeaderEncoding(String encoding)
Specifies the character encoding to be used when reading the headers of
individual parts. When not specified, or null
, the platform
default encoding is used.
encoding
- The encoding used to read part headers.
setSizeMax
public void setSizeMax(long sizeMax)
Sets the maximum allowed upload size. If negative, there is no maximum.
sizeMax
- The maximum allowed size, in bytes, or -1 for no maximum.
getSizeMax()
Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.