Package org.apache.commons.fileupload2.jakarta.servlet6

# Class JakartaServletFileUpload<I extends FileItem<I>,F extends FileItemFactory<I>>

java.lang.Object
org.apache.commons.fileupload2.core.AbstractFileUpload<HttpServletRequest,I,F>
org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload<I,F>

Type Parameters:
  `I` - The FileItem type.
  `F` - the FileItemFactory type.

Direct Known Subclasses:
  `JakartaServletDiskFileUpload`

public class JakartaServletFileUpload<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. Use `parseRequest(HttpServletRequest)` to acquire a list of `FileItem`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
  `JakartaServletFileUpload()`
  Constructs an uninitialized instance of this class.
  `JakartaServletFileUpload(F fileItemFactory)`
  Constructs an instance of this class which uses the supplied factory to create `FileItem` instances.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FileItemInputIterator`
  `getItemIterator(HttpServletRequest request)`
  Gets an RFC 1867 compliant `multipart/form-data` file item iterator.
  `static final boolean`
  `isMultipartContent(HttpServletRequest request)`
  Tests whether the request contains multipart content.
  `Map<String,List<I>>`
  `parseParameterMap(HttpServletRequest request)`
  Parses an RFC 1867 compliant `multipart/form-data` stream.
  `List<I>`
  `parseRequest(HttpServletRequest request)`
  Parses an RFC 1867 compliant `multipart/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`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### JakartaServletFileUpload

    public JakartaServletFileUpload()
    Constructs an uninitialized instance of this class. A factory must be configured, using `setFileItemFactory()`, before attempting to parse requests.
    See Also:
      - `AbstractFileUpload()`

  - ### JakartaServletFileUpload

    public JakartaServletFileUpload(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(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 compliant `multipart/form-data` file item iterator.
    Specified by:
      `getItemIterator` in class `AbstractFileUpload<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 compliant `multipart/form-data` stream.
    Specified by:
      `parseParameterMap` in class `AbstractFileUpload<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 compliant `multipart/form-data` stream.
    Specified by:
      `parseRequest` in class `AbstractFileUpload<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.