public interface UploadedFileProcessor
UploadedFileProcessor
instance. For
more simpler, multiple chained UploadedFileProcessor option please look at
ChainedUploadedFileProcessor
.
UploadedFileProcessor is accessible from the RequestContext
,
but will be invoked automatically by the framework as needed. Developers
can replace the standard processor using the
trinidad-config.xml
file.
To configure file uploads, the default instance supports three context initialization parameters :
UploadedFile
Modifier and Type | Field and Description |
---|---|
static String |
MAX_DISK_SPACE_PARAM_NAME
Initialization parameter for the default
UploadedFileProcessor that configures the maximum
amount of disk space that can be used in a single request to store
uploaded files. |
static String |
MAX_FILE_SIZE_PARAM_NAME
Initialization parameter for the default
UploadedFileProcessor that configures the maximum
file size that can be uploaded. |
static String |
MAX_MEMORY_PARAM_NAME
Initialization parameter for the default
UploadedFileProcessor that configures the maximum
amount of memory that can be used in a single request to store
uploaded files. |
static String |
TEMP_DIR_PARAM_NAME
Initialization parameter for the default
UploadedFileProcessor that configures the
to the directory where temporary files should be stored while
uploading. |
Modifier and Type | Method and Description |
---|---|
void |
init(Object context)
Initialize the UploadedFileProcessor with access to the current
web application context.
|
UploadedFile |
processFile(Object request,
UploadedFile file)
Process a single uploaded file, moving it from temporary
storage to per-request storage.
|
static final String MAX_MEMORY_PARAM_NAME
UploadedFileProcessor
that configures the maximum
amount of memory that can be used in a single request to store
uploaded files. Any requirements above this will be stored on disk.
The default is 100 kilobytes.static final String MAX_DISK_SPACE_PARAM_NAME
UploadedFileProcessor
that configures the maximum
amount of disk space that can be used in a single request to store
uploaded files. The default is 2000 kilobytes. Any requests that
exceed this size will result in an EOFException being thrown
on that request.static final String TEMP_DIR_PARAM_NAME
UploadedFileProcessor
that configures the
to the directory where temporary files should be stored while
uploading. This defaults to the the application server's temporary
directory, as provided by the "javax.servlet.context.tempdir"
property. If that is not set, the System "java.io.tempdir" property
will be used as a backup.static final String MAX_FILE_SIZE_PARAM_NAME
UploadedFileProcessor
that configures the maximum
file size that can be uploaded. The default is 2000 kilobytes. Any requests that
exceed this size will result in an EOFException being thrown
on that request.void init(Object context)
context
- the current ServletContext or PortletContextUploadedFile processFile(Object request, UploadedFile file) throws IOException
UploadedFile
object
and return a new UploadedFile
instance that will
remain valid for the duration of this request. The incoming
UploadedFile
object is a temporary file object that has a number of
restrictions:
UploadedFile.getInputStream()
may only be called onceUploadedFile.getLength()
returns -1, since the length is not yet availableUploadedFile.getFilename()
has not yet been internationalized; users should not
rely on its value, but simply use it unmodified in the
outgoing UploadedFile
The UploadedFile
object returned from this method
must remain valid for the duration of this request. The framework
guarantees that UploadedFile.dispose()
will be called before
the request completes.
If any implementation of this method throws an IOException, it is considered that there is a error in processing the uploaded file, and the message contained in the IOException is shown to the user as a value conversion warning. If the processing failure is less severe, and if the failure need to be meaningfully reported to the end users, the length of the returned UploadedFile should be set to -1, and its getOpaqueData() should provide the error details. The object returned by getOpaqueData() should implement a toString() that returns a detailed error message. During the JSF life cycle later, the input file component would show this message as value conversion warning to the user.
request
- the current servlet or portlet requestfile
- a temporary file objectIOException
UploadedFile.getLength()
,
Copyright © 2001-2016 The Apache Software Foundation. All Rights Reserved.