Interface UploadService
- All Known Implementing Classes:
DefaultUploadService
This service handles parsing multipart/form-data
POST requests
and turning them into form fields and uploaded files. This can be either
performed automatically by the org.apache.fulcrum.parser.ParameterParser
or manually by a user
defined org.apache.turbine.modules.Action
.
- Version:
- $Id$
- Author:
- Rafal Krzewski, Daniel Rall
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
HTTP header.static final String
HTTP header.static final String
HTTP header base type modifier.static final String
The default value of 'headerEncoding' property (.).static final String
The key in UploadService properties in TurbineResources.properties 'headerEncoding' property.static final String
HTTP header base type modifier.static final String
HTTP header base type.static final String
HTTP header.static final String
HTTP header.static final String
The default value of 'repository' property (.).static final String
The key in UploadService properties in TurbineResources.properties 'repository' property.static final String
The request parameter name for overriding 'repository' property (path).static final String
Avalon Identifierstatic final int
The default value of 'sizMax' property (1 megabyte = 1048576 bytes).static final String
w The key in UploadService properties in service configuration 'sizeMax' property.static final int
The default value of 'sizeThreshold' property (10 kilobytes = 10240 bytes).static final String
The key in UploadService properties in TurbineResources.properties 'sizeThreshold' property. -
Method Summary
Modifier and TypeMethodDescriptionlong
The maximum allowed size of a sinlge file uploadRetrieves the value of theheaderEncoding
property ofUploadService
.org.apache.commons.fileupload2.core.FileItemInputIterator
getItemIterator
(jakarta.servlet.http.HttpServletRequest req) Processes an RFC 1867 compliantmultipart/form-data
stream.Retrieves the value of therepository
property ofUploadService
.long
Retrieves the value ofsize.max
property of theUploadService
.long
Retrieves the value ofsize.threshold
property ofUploadService
.boolean
isMultipart
(jakarta.servlet.http.HttpServletRequest req) Utility method that determines whether the request contains multipart content.List
<org.apache.commons.fileupload2.core.FileItem> parseRequest
(jakarta.servlet.http.HttpServletRequest req) Parses a RFC 1867 compliantmultipart/form-data
stream.List
<org.apache.commons.fileupload2.core.FileItem> parseRequest
(jakarta.servlet.http.HttpServletRequest req, int sizeThreshold, int sizeMax, String path) Parses a RFC 1867 compliantmultipart/form-data
stream.List
<org.apache.commons.fileupload2.core.FileItem> parseRequest
(jakarta.servlet.http.HttpServletRequest req, String path) Parses a RFC 1867 compliantmultipart/form-data
stream.
-
Field Details
-
ROLE
Avalon Identifier -
CONTENT_TYPE
HTTP header.- See Also:
-
CONTENT_DISPOSITION
HTTP header.- See Also:
-
MULTIPART
HTTP header base type.- See Also:
-
FORM_DATA
HTTP header base type modifier.- See Also:
-
MIXED
HTTP header base type modifier.- See Also:
-
MULTIPART_FORM_DATA
HTTP header.- See Also:
-
MULTIPART_MIXED
HTTP header.- See Also:
-
REPOSITORY_PARAMETER
The request parameter name for overriding 'repository' property (path).- See Also:
-
REPOSITORY_KEY
The key in UploadService properties in TurbineResources.properties 'repository' property.- See Also:
-
REPOSITORY_DEFAULT
The default value of 'repository' property (.). This is the directory where uploaded files will get stored temporarily. Note that "." is whatever the servlet container chooses to be it's 'current directory'.
- See Also:
-
SIZE_MAX_KEY
w The key in UploadService properties in service configuration 'sizeMax' property.- See Also:
-
SIZE_MAX_DEFAULT
static final int SIZE_MAX_DEFAULTThe default value of 'sizMax' property (1 megabyte = 1048576 bytes). This is the maximum size of POST request that will be parsed by the uploader. If you need to set specific limits for your users, set this property to the largest limit value, and use an action + no auto upload to enforce limits.
- See Also:
-
SIZE_THRESHOLD_KEY
The key in UploadService properties in TurbineResources.properties 'sizeThreshold' property.- See Also:
-
SIZE_THRESHOLD_DEFAULT
static final int SIZE_THRESHOLD_DEFAULTThe default value of 'sizeThreshold' property (10 kilobytes = 10240 bytes). This is the maximum size of a POST request that will have it's components stored temporarily in memory, instead of disk.
- See Also:
-
HEADER_ENCODING_KEY
The key in UploadService properties in TurbineResources.properties 'headerEncoding' property.- See Also:
-
HEADER_ENCODING_DEFAULT
The default value of 'headerEncoding' property (.). The value has been decided by copying from DiskFileItem class
- See Also:
-
-
Method Details
-
parseRequest
List<org.apache.commons.fileupload2.core.FileItem> parseRequest(jakarta.servlet.http.HttpServletRequest req) throws org.apache.avalon.framework.service.ServiceException Parses a RFC 1867 compliant
multipart/form-data
stream.- Parameters:
req
- The servlet request to be parsed.- Returns:
- list of file items
- Throws:
org.apache.avalon.framework.service.ServiceException
- Problems reading/parsing the request or storing the uploaded file(s).
-
parseRequest
List<org.apache.commons.fileupload2.core.FileItem> parseRequest(jakarta.servlet.http.HttpServletRequest req, String path) throws org.apache.avalon.framework.service.ServiceException Parses a RFC 1867 compliant
multipart/form-data
stream.- Parameters:
req
- The servlet request to be parsed.path
- The location where the files should be stored.- Returns:
- List of FileItem parts
- Throws:
org.apache.avalon.framework.service.ServiceException
- Problems reading/parsing the request or storing the uploaded file(s).
-
parseRequest
List<org.apache.commons.fileupload2.core.FileItem> parseRequest(jakarta.servlet.http.HttpServletRequest req, int sizeThreshold, int sizeMax, String path) throws org.apache.avalon.framework.service.ServiceException Parses a RFC 1867 compliant
multipart/form-data
stream.- Parameters:
req
- The servlet request to be parsed.sizeThreshold
- the max size in bytes to be stored in memorysizeMax
- the maximum allowed upload size in bytespath
- The location where the files should be stored.- Returns:
- List of FileItem parts
- Throws:
org.apache.avalon.framework.service.ServiceException
- Problems reading/parsing the request or storing the uploaded file(s).
-
getItemIterator
org.apache.commons.fileupload2.core.FileItemInputIterator getItemIterator(jakarta.servlet.http.HttpServletRequest req) throws org.apache.avalon.framework.service.ServiceException Processes an RFC 1867 compliantmultipart/form-data
stream.- Parameters:
req
- 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:
org.apache.avalon.framework.service.ServiceException
- if there are problems reading/parsing the request or storing files. This may also be a network error while communicating with the client or a problem while storing the uploaded content.
-
getSizeMax
long getSizeMax()Retrieves the value of
size.max
property of theUploadService
.- Returns:
- The maximum upload size.
-
getSizeThreshold
long getSizeThreshold()Retrieves the value of
size.threshold
property ofUploadService
.- Returns:
- The threshold beyond which files are written directly to disk.
-
getRepository
String getRepository()Retrieves the value of the
repository
property ofUploadService
.- Returns:
- The repository.
-
getHeaderEncoding
String getHeaderEncoding()Retrieves the value of the
headerEncoding
property ofUploadService
.- Returns:
- Returns the headerEncoding.
-
isMultipart
boolean isMultipart(jakarta.servlet.http.HttpServletRequest req) Utility method that determines whether the request contains multipart content.- Parameters:
req
- The servlet request to be evaluated. Must be non-null.- Returns:
true
if the request is multipart;false
otherwise.
-
getFileSizeMax
long getFileSizeMax()The maximum allowed size of a sinlge file upload- Returns:
- the maximum size
-