Class ServletFileUpload
- java.lang.Object
-
- org.apache.commons.fileupload.FileUploadBase
-
- org.apache.commons.fileupload.FileUpload
-
- org.apache.commons.fileupload.servlet.ServletFileUpload
-
public class ServletFileUpload extends FileUpload
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.
-
-
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
Constructors Constructor Description ServletFileUpload()
Constructs 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FileItemIterator
getItemIterator(javax.servlet.http.HttpServletRequest request)
Processes an RFC 1867 compliantmultipart/form-data
stream.static boolean
isMultipartContent(javax.servlet.http.HttpServletRequest request)
Utility method that determines whether the request contains multipart content.java.util.Map<java.lang.String,java.util.List<FileItem>>
parseParameterMap(javax.servlet.http.HttpServletRequest request)
Processes an RFC 1867 compliantmultipart/form-data
stream.java.util.List<FileItem>
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 Detail
-
ServletFileUpload
public ServletFileUpload()
Constructs an uninitialized instance of this class. A factory must be configured, usingsetFileItemFactory()
, before attempting to parse requests.- See Also:
FileUpload(FileItemFactory)
-
ServletFileUpload
public ServletFileUpload(FileItemFactory 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:
FileUpload()
-
-
Method Detail
-
isMultipartContent
public static final boolean isMultipartContent(javax.servlet.http.HttpServletRequest request)
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, java.io.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.java.io.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 java.util.Map<java.lang.String,java.util.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 java.util.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.
-
-