Class JavaxServletFileUpload<I extends FileItem<I>,F extends FileItemFactory<I>>
java.lang.Object
org.apache.commons.fileupload2.core.AbstractFileUpload<javax.servlet.http.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<javax.servlet.http.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. Use parseRequest(HttpServletRequest) to acquire a list of FileItems 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
ConstructorsConstructorDescriptionConstructs an uninitialized instance of this class.JavaxServletFileUpload(F fileItemFactory) Constructs an instance of this class which uses the supplied factory to createFileIteminstances. -
Method Summary
Modifier and TypeMethodDescriptiongetItemIterator(javax.servlet.http.HttpServletRequest request) Gets an RFC 1867 compliantmultipart/form-datafile item iterator.static final booleanisMultipartContent(javax.servlet.http.HttpServletRequest request) Tests whether the request contains multipart content.parseParameterMap(javax.servlet.http.HttpServletRequest request) Parses an RFC 1867 compliantmultipart/form-datastream.parseRequest(javax.servlet.http.HttpServletRequest request) Parses an RFC 1867 compliantmultipart/form-datastream.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 Details
-
JavaxServletFileUpload
public JavaxServletFileUpload()Constructs an uninitialized instance of this class. A factory must be configured, usingsetFileItemFactory(), before attempting to parse requests.- See Also:
-
JavaxServletFileUpload
Constructs an instance of this class which uses the supplied factory to createFileIteminstances.- Parameters:
fileItemFactory- The factory to use for creating file items.- See Also:
-
-
Method Details
-
isMultipartContent
Tests whether the request contains multipart content.- Parameters:
request- The servlet request to be evaluated. Must be non-null.- Returns:
trueif the request is multipart;falseotherwise.
-
getItemIterator
public FileItemInputIterator getItemIterator(javax.servlet.http.HttpServletRequest request) throws FileUploadException, IOException Gets an RFC 1867 compliantmultipart/form-datafile item iterator.- Specified by:
getItemIteratorin classAbstractFileUpload<javax.servlet.http.HttpServletRequest,I extends FileItem<I>, F extends FileItemFactory<I>> - Parameters:
request- The servlet request to be parsed.- Returns:
- An iterator to instances of
FileItemInputparsed 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(javax.servlet.http.HttpServletRequest request) throws FileUploadException Parses an RFC 1867 compliantmultipart/form-datastream.- Specified by:
parseParameterMapin classAbstractFileUpload<javax.servlet.http.HttpServletRequest,I extends FileItem<I>, F extends FileItemFactory<I>> - Parameters:
request- The servlet request to be parsed.- Returns:
- A map of
FileIteminstances parsed from the request. - Throws:
FileUploadException- if there are problems reading/parsing the request or storing files.
-
parseRequest
public List<I> parseRequest(javax.servlet.http.HttpServletRequest request) throws FileUploadException Parses an RFC 1867 compliantmultipart/form-datastream.- Specified by:
parseRequestin classAbstractFileUpload<javax.servlet.http.HttpServletRequest,I extends FileItem<I>, F extends FileItemFactory<I>> - Parameters:
request- The servlet request to be parsed.- Returns:
- A list of
FileIteminstances parsed from the request, in the order that they were transmitted. - Throws:
FileUploadException- if there are problems reading/parsing the request or storing files.
-