Name |
Advanced Fileupload Plugin |
---|---|
Publisher |
Apache Software Foundation |
License |
Open Source (ASL2) |
Version |
1.0-SNAPSHOT |
Homepage |
http://cwiki.apache.org/S2PLUGINS/Advanced+Fileupload+Plugin |
The Advanced File Upload Plugin is meant to provide added functionality to the previous Multipart Request handling within Struts 2. Prior to this plugin, Struts 2 utilized the Commons Fileupload but did not expose much of it's functionality. This plugin uses the same backend, but allows users to override beans and constants to make changes to the behavior of Commons Fileupload.
Introduction
The Advanced File Upload Plugin provides the following features:
- Exposes a special action that can be asynchronously requested to view the status of uploads
- Ability to set a threshold for the amount of memory consumed by Commons Fileupload's DiskItemFactory before writing data to disk
Usage
To use the plugin, simply install the jar file to your WEB-INF/lib.
Advanced
Since this plugin is a wrapper around the Commons Fileupload library, advanced usage requires knowledge of Commons Fileupload. Following is a list of the constants that can be overridden -
constant |
explanation |
default value |
---|---|---|
struts.fileuploadplugin.sizethreshold |
Sets a threshold for the size of a file. If a file exceeds this threshold, it will be written to disk. Uploads consuming less than this threshold will only be stored in memory and never written to disk (unless you write it). |
256 |
struts.fileuploadplugin.repositorypath |
Directory where the plugin will write files to disk while processing the request. This is not permanent storage, files will be written temporarily here if they exceed the threshold. |
/tmp |
struts.fileuploadplugin.listenerupdatefrequency |
This is the number of bytes to wait before calling the ProgressListener. The ProgressListener will be called frequently during the processing of the request. This allows you to throttle the frequency that it is called. |
2048 |
struts.fileuploadplugin.isportletupload |
Specifies whether the upload is happening within a Portlet. |
false |
struts.fileuploadplugin.timetokeepstatus |
Currently, the status of uploads is stored in memory and tied to a user's session. This is a timeout setting instructing the app server to remove the status if it has not been written to or read from in the amount of time specified. Specify the number of seconds to hold onto the status in memory. |
600 |
struts.multipart.handler |
Simply specifies to struts2-core that the advanced file upload be used, rather than the built-in functionality. |
upload-plugin |
Example
Resources
- Commons FileUpload - http://commons.apache.org/fileupload/index.html
Version History
Version |
Date |
Author |
Notes |
---|---|---|---|
1.0 |
TBA (pending feedback) |
|
Initial release |