Class JavaxServletFileUpload<I extends FileItem<I>,F extends FileItemFactory<I>>
- java.lang.Object
-
- org.apache.commons.fileupload2.core.AbstractFileUpload<HttpServletRequest,I,F>
-
- org.apache.commons.fileupload2.javax.JavaxServletFileUpload<I,F>
-
- Type Parameters:
I
- The FileItem type.F
- the FileItemFactory type.
- Direct Known Subclasses:
JavaxServletDiskFileUpload
public class JavaxServletFileUpload<I extends FileItem<I>,F extends FileItemFactory<I>> extends AbstractFileUpload<HttpServletRequest,I,F>
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. UseparseRequest(HttpServletRequest)
to acquire a list ofFileItem
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.
-
-
Field Summary
-
Fields inherited from class org.apache.commons.fileupload2.core.AbstractFileUpload
ATTACHMENT, CONTENT_DISPOSITION, CONTENT_LENGTH, CONTENT_TYPE, FORM_DATA, MULTIPART, MULTIPART_FORM_DATA, MULTIPART_MIXED
-
-
Constructor Summary
Constructors Constructor Description JavaxServletFileUpload()
Constructs an uninitialized instance of this class.JavaxServletFileUpload(F fileItemFactory)
Constructs an instance of this class which uses the supplied factory to createFileItem
instances.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FileItemInputIterator
getItemIterator(HttpServletRequest request)
Gets an RFC 1867 compliantmultipart/form-data
file item iterator.static boolean
isMultipartContent(HttpServletRequest request)
Tests whether the request contains multipart content.Map<String,List<I>>
parseParameterMap(HttpServletRequest request)
Parses an RFC 1867 compliantmultipart/form-data
stream.List<I>
parseRequest(HttpServletRequest request)
Parses an RFC 1867 compliantmultipart/form-data
stream.-
Methods inherited from class org.apache.commons.fileupload2.core.AbstractFileUpload
getBoundary, getFieldName, getFileCountMax, getFileItemFactory, getFileName, getFileSizeMax, getHeaderCharset, getItemIterator, getParsedHeaders, getProgressListener, getSizeMax, isMultipartContent, newFileItemHeaders, parseParameterMap, parseRequest, setFileCountMax, setFileItemFactory, setFileSizeMax, setHeaderCharset, setProgressListener, setSizeMax
-
-
-
-
Constructor Detail
-
JavaxServletFileUpload
public JavaxServletFileUpload()
Constructs an uninitialized instance of this class. A factory must be configured, usingsetFileItemFactory()
, before attempting to parse requests.- See Also:
AbstractFileUpload()
-
JavaxServletFileUpload
public JavaxServletFileUpload(F fileItemFactory)
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:
AbstractFileUpload()
-
-
Method Detail
-
isMultipartContent
public static final boolean isMultipartContent(HttpServletRequest request)
Tests 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 FileItemInputIterator getItemIterator(HttpServletRequest request) throws FileUploadException, IOException
Gets an RFC 1867 compliantmultipart/form-data
file item iterator.- Specified by:
getItemIterator
in classAbstractFileUpload<HttpServletRequest,I extends FileItem<I>,F extends FileItemFactory<I>>
- Parameters:
request
- The servlet request to be parsed.- Returns:
- An iterator to instances of
FileItemInput
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<I>> parseParameterMap(HttpServletRequest request) throws FileUploadException
Parses an RFC 1867 compliantmultipart/form-data
stream.- Specified by:
parseParameterMap
in classAbstractFileUpload<HttpServletRequest,I extends FileItem<I>,F extends FileItemFactory<I>>
- 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.
-
parseRequest
public List<I> parseRequest(HttpServletRequest request) throws FileUploadException
Parses an RFC 1867 compliantmultipart/form-data
stream.- Specified by:
parseRequest
in classAbstractFileUpload<HttpServletRequest,I extends FileItem<I>,F extends FileItemFactory<I>>
- 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.
-
-