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.

  • Constructor Details

    • JavaxServletFileUpload

      Constructs an uninitialized instance of this class. A factory must be configured, using setFileItemFactory(), before attempting to parse requests.
      See Also:
    • JavaxServletFileUpload

      public JavaxServletFileUpload(F fileItemFactory)
      Constructs an instance of this class which uses the supplied factory to create FileItem instances.
      Parameters:
      fileItemFactory - The factory to use for creating file items.
      See Also:
  • Method Details

    • isMultipartContent

      public static final boolean isMultipartContent(javax.servlet.http.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(javax.servlet.http.HttpServletRequest request) throws FileUploadException, IOException
      Gets an RFC 1867 compliant multipart/form-data file item iterator.
      Specified by:
      getItemIterator in class AbstractFileUpload<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 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(javax.servlet.http.HttpServletRequest request) throws FileUploadException
      Parses an RFC 1867 compliant multipart/form-data stream.
      Specified by:
      parseParameterMap in class AbstractFileUpload<javax.servlet.http.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(javax.servlet.http.HttpServletRequest request) throws FileUploadException
      Parses an RFC 1867 compliant multipart/form-data stream.
      Specified by:
      parseRequest in class AbstractFileUpload<javax.servlet.http.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.