org.apache.wicket.util.upload
Class ServletFileUpload

java.lang.Object
  extended by org.apache.wicket.util.upload.FileUploadBase
      extended by org.apache.wicket.util.upload.FileUpload
          extended by org.apache.wicket.util.upload.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. 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.

Author:
Rafal Krzewski, Daniel Rall, Jason van Zyl, John McNally, Martin Cooper, Sean C. Sullivan

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.util.upload.FileUploadBase
FileUploadBase.FileSizeLimitExceededException, FileUploadBase.FileUploadIOException, FileUploadBase.InvalidContentTypeException, FileUploadBase.IOFileUploadException, FileUploadBase.SizeException, FileUploadBase.SizeLimitExceededException, FileUploadBase.UnknownSizeException
 
Field Summary
 
Fields inherited from class org.apache.wicket.util.upload.FileUploadBase
ATTACHMENT, CONTENT_DISPOSITION, CONTENT_LENGTH, CONTENT_TYPE, FORM_DATA, MAX_HEADER_SIZE, MULTIPART, MULTIPART_FORM_DATA, MULTIPART_MIXED
 
Constructor Summary
ServletFileUpload()
          Constructs an uninitialised instance of this class.
ServletFileUpload(FileItemFactory fileItemFactory)
          Constructs an instance of this class which uses the supplied factory to create FileItem instances.
 
Method Summary
 FileItemIterator getItemIterator(javax.servlet.http.HttpServletRequest request)
          Processes an RFC 1867 compliant multipart/form-data stream.
static boolean isMultipartContent(javax.servlet.http.HttpServletRequest request)
          Utility method that determines whether the request contains multipart content.
 List<FileItem> parseRequest(javax.servlet.http.HttpServletRequest request)
          Processes an RFC 1867 compliant multipart/form-data stream.
 
Methods inherited from class org.apache.wicket.util.upload.FileUpload
getFileItemFactory, setFileItemFactory
 
Methods inherited from class org.apache.wicket.util.upload.FileUploadBase
createItem, getBoundary, getFieldName, getFieldName, getFileName, getFileName, getFileSizeMax, getHeader, getHeaderEncoding, getItemIterator, getParsedHeaders, getProgressListener, getSizeMax, isMultipartContent, newFileItemHeaders, parseHeaders, parseRequest, setFileSizeMax, setHeaderEncoding, setProgressListener, setSizeMax
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServletFileUpload

public ServletFileUpload()
Constructs an uninitialised instance of this class. A factory must be configured, using setFileItemFactory(), before attempting to parse requests.

See Also:
FileUpload.FileUpload(FileItemFactory)

ServletFileUpload

public ServletFileUpload(FileItemFactory 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:
FileUpload.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.

parseRequest

public List<FileItem> parseRequest(javax.servlet.http.HttpServletRequest request)
                            throws FileUploadException
Processes an RFC 1867 compliant multipart/form-data stream.

Overrides:
parseRequest in class FileUploadBase
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.

getItemIterator

public FileItemIterator getItemIterator(javax.servlet.http.HttpServletRequest request)
                                 throws FileUploadException,
                                        IOException
Processes an RFC 1867 compliant multipart/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.
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.


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.