Class ServletFileUpload
java.lang.Object
org.apache.commons.fileupload.FileUploadBase
org.apache.commons.fileupload.FileUpload
org.apache.commons.fileupload.servlet.ServletFileUpload
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
Nested classes/interfaces inherited from class org.apache.commons.fileupload.FileUploadBase
FileUploadBase.FileSizeLimitExceededException, FileUploadBase.FileUploadIOException, FileUploadBase.InvalidContentTypeException, FileUploadBase.IOFileUploadException, FileUploadBase.SizeException, FileUploadBase.SizeLimitExceededException, FileUploadBase.UnknownSizeException
-
Field Summary
Fields inherited from class org.apache.commons.fileupload.FileUploadBase
ATTACHMENT, CONTENT_DISPOSITION, CONTENT_LENGTH, CONTENT_TYPE, DEFAULT_PART_HEADER_SIZE_MAX, FORM_DATA, MAX_HEADER_SIZE, MULTIPART, MULTIPART_FORM_DATA, MULTIPART_MIXED, MULTIPART_RELATED
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs an uninitialized instance of this class.ServletFileUpload
(FileItemFactory fileItemFactory) Constructs an instance of this class which uses the supplied factory to createFileItem
instances. -
Method Summary
Modifier and TypeMethodDescriptiongetItemIterator
(javax.servlet.http.HttpServletRequest request) Processes an RFC 1867 compliantmultipart/form-data
stream.static final boolean
isMultipartContent
(javax.servlet.http.HttpServletRequest request) Utility method that determines whether the request contains multipart content.parseParameterMap
(javax.servlet.http.HttpServletRequest request) Processes an RFC 1867 compliantmultipart/form-data
stream.parseRequest
(javax.servlet.http.HttpServletRequest request) Processes an RFC 1867 compliantmultipart/form-data
stream.Methods inherited from class org.apache.commons.fileupload.FileUpload
getFileItemFactory, setFileItemFactory
Methods inherited from class org.apache.commons.fileupload.FileUploadBase
createItem, getBoundary, getFieldName, getFieldName, getFileCountMax, getFileName, getFileName, getFileSizeMax, getHeader, getHeaderEncoding, getItemIterator, getParsedHeaders, getPartHeaderSizeMax, getProgressListener, getSizeMax, isMultipartContent, newFileItemHeaders, parseHeaders, parseParameterMap, parseRequest, setFileCountMax, setFileSizeMax, setHeaderEncoding, setPartHeaderSizeMax, setProgressListener, setSizeMax
-
Constructor Details
-
ServletFileUpload
public ServletFileUpload()Constructs an uninitialized instance of this class. A factory must be configured, usingsetFileItemFactory()
, before attempting to parse requests.- See Also:
-
ServletFileUpload
Constructs an instance of this class which uses the supplied factory to createFileItem
instances.- Parameters:
fileItemFactory
- The factory to use for creating file items.- See Also:
-
-
Method Details
-
isMultipartContent
Utility method that determines whether the request contains multipart content.- Parameters:
request
- The servlet request to be evaluated. Must be non-null.- Returns:
true
if the request is multipart;false
otherwise.
-
getItemIterator
public FileItemIterator getItemIterator(javax.servlet.http.HttpServletRequest request) throws FileUploadException, IOException Processes an RFC 1867 compliantmultipart/form-data
stream.- Parameters:
request
- The servlet request to be parsed.- Returns:
- An iterator to instances of
FileItemStream
parsed from the request, in the order that they were transmitted. - Throws:
FileUploadException
- if there are problems reading/parsing the request or storing files.IOException
- An I/O error occurred. This may be a network error while communicating with the client or a problem while storing the uploaded content.
-
parseParameterMap
public Map<String,List<FileItem>> parseParameterMap(javax.servlet.http.HttpServletRequest request) throws FileUploadException Processes an RFC 1867 compliantmultipart/form-data
stream.- Parameters:
request
- The servlet request to be parsed.- Returns:
- A map of
FileItem
instances parsed from the request. - Throws:
FileUploadException
- if there are problems reading/parsing the request or storing files.- Since:
- 1.3
-
parseRequest
public List<FileItem> parseRequest(javax.servlet.http.HttpServletRequest request) throws FileUploadException Processes an RFC 1867 compliantmultipart/form-data
stream.- Overrides:
parseRequest
in classFileUploadBase
- Parameters:
request
- The servlet request to be parsed.- Returns:
- A list of
FileItem
instances parsed from the request, in the order that they were transmitted. - Throws:
FileUploadException
- if there are problems reading/parsing the request or storing files.
-