Class JavaxServletFileUpload<I extends org.apache.commons.fileupload2.core.FileItem<I>,F extends org.apache.commons.fileupload2.core.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 org.apache.commons.fileupload2.core.FileItem<I>,F extends org.apache.commons.fileupload2.core.FileItemFactory<I>> extends org.apache.commons.fileupload2.core.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

    Constructors
    Constructor
    Description
    Constructs an uninitialized instance of this class.
    JavaxServletFileUpload(F fileItemFactory)
    Constructs an instance of this class which uses the supplied factory to create FileItem instances.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.commons.fileupload2.core.FileItemInputIterator
    getItemIterator(javax.servlet.http.HttpServletRequest request)
    Gets an RFC 1867 compliant multipart/form-data file item iterator.
    static final boolean
    isMultipartContent(javax.servlet.http.HttpServletRequest request)
    Tests whether the request contains multipart content.
    parseParameterMap(javax.servlet.http.HttpServletRequest request)
    Parses an RFC 1867 compliant multipart/form-data stream.
    parseRequest(javax.servlet.http.HttpServletRequest request)
    Parses an RFC 1867 compliant multipart/form-data stream.

    Methods inherited from class org.apache.commons.fileupload2.core.AbstractFileUpload

    getBoundary, getFieldName, getFileItemFactory, getFileName, getHeaderCharset, getItemIterator, getMaxFileCount, getMaxFileSize, getMaxPartHeaderSize, getMaxSize, getParsedHeaders, getProgressListener, isMultipartContent, isMultipartRequestMethod, newFileItemHeaders, parseParameterMap, parseRequest, setFileItemFactory, setHeaderCharset, setMaxFileCount, setMaxFileSize, setMaxPartHeaderSize, setMaxSize, setProgressListener

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JavaxServletFileUpload

      Constructs an uninitialized instance of this class. A factory must be configured, using setFileItemFactory(), 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 create FileItem instances.
      Parameters:
      fileItemFactory - The factory to use for creating file items.
      See Also:
      • AbstractFileUpload()
  • 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 org.apache.commons.fileupload2.core.FileItemInputIterator getItemIterator(javax.servlet.http.HttpServletRequest request) throws org.apache.commons.fileupload2.core.FileUploadException, IOException
      Gets an RFC 1867 compliant multipart/form-data file item iterator.
      Specified by:
      getItemIterator in class org.apache.commons.fileupload2.core.AbstractFileUpload<javax.servlet.http.HttpServletRequest,I extends org.apache.commons.fileupload2.core.FileItem<I>,F extends org.apache.commons.fileupload2.core.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:
      org.apache.commons.fileupload2.core.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 org.apache.commons.fileupload2.core.FileUploadException
      Parses an RFC 1867 compliant multipart/form-data stream.
      Specified by:
      parseParameterMap in class org.apache.commons.fileupload2.core.AbstractFileUpload<javax.servlet.http.HttpServletRequest,I extends org.apache.commons.fileupload2.core.FileItem<I>,F extends org.apache.commons.fileupload2.core.FileItemFactory<I>>
      Parameters:
      request - The servlet request to be parsed.
      Returns:
      A map of FileItem instances parsed from the request.
      Throws:
      org.apache.commons.fileupload2.core.FileUploadException - if there are problems reading/parsing the request or storing files.
    • parseRequest

      public List<I> parseRequest(javax.servlet.http.HttpServletRequest request) throws org.apache.commons.fileupload2.core.FileUploadException
      Parses an RFC 1867 compliant multipart/form-data stream.
      Specified by:
      parseRequest in class org.apache.commons.fileupload2.core.AbstractFileUpload<javax.servlet.http.HttpServletRequest,I extends org.apache.commons.fileupload2.core.FileItem<I>,F extends org.apache.commons.fileupload2.core.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:
      org.apache.commons.fileupload2.core.FileUploadException - if there are problems reading/parsing the request or storing files.