# rich

## Tag fileUpload

- Description:

    The <rich:fileUpload> component allows the user to upload files to a server. It features multiple uploads, progress bars, restrictions on file types, and restrictions on sizes of the files to be uploaded.

    @author Konstantin Mishin @author Lukas Fryc @author Simone Cinti

- Component Information
  Info | Value
  --- | ---
  Component Type | `org.richfaces.FileUpload`
  Handler Class | `org.richfaces.view.facelets.FileUploadHandler`
  Renderer Type | `org.richfaces.FileUploadRenderer`
  Description | The <rich:fileUpload> component allows the user to upload files to a server. It features multiple uploads, progress bars, restrictions on file types, and restrictions on sizes of the files to be uploaded. @author Konstantin Mishin @author Lukas Fryc @author Simone Cinti

- Attributes
  Name | Required | Type | Description
  --- | --- | --- | ---
  `acceptedTypes` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Defines comma separated list of file extensions accepted by component. The format of the file extension can be "png" or ".png", the second format will filter extensions in the dialog window. The component does not provide any feedback when rejecting file. For introducing feedback for rejection, use ontyperejected parameter.
  `addLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label for the Add button.
  `binding` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.component.UIComponent`) | The value binding expression used to wire up this component to a component property of a JavaBean class
  `clearAllLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label for the Clear button.
  `clearLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label displayed for the Clear link
  `data` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | Serialized (on default with JSON) data passed to the client by a developer on an AJAX request. It's accessible via "event.data" syntax. Both primitive types and complex types such as arrays and collections can be serialized and used with data
  `deleteLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label displayed for the Delete link
  `dir` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).
  `disabled` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating that this element must never receive focus or be included in a subsequent submit. Default value - "false"
  `doneLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label displayed when a file is successfully uploaded.
  `execute` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | IDs of components that will participate in the "execute" portion of the Request Processing Lifecycle. Can be a single ID, a space or comma separated list of IDs, or an EL Expression evaluating to an array or Collection. Any of the keywords "@this", "@form", "@all", "@none", "@region" may be specified in the identifier list. Some components make use of additional keywords Default value is "@region" which resolves to this component if no region is present.
  `fileUploadListener` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.el.MethodExpression`) | A listener function on the server side after each file is uploaded. The listener should process files as required, such as storing them in the session/db/filesystem/ directory. The component itself does not store uploaded files, so if the listener is not implemented they are not stored anywhere
  `id` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The component identifier for this component. This value must be unique within the closest parent component that is a naming container.
  `immediateUpload` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If "true" upload stats immediately after file selection Default is "false"
  `lang` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Code describing the language used in the generated markup for this component.
  `limitRender` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If "true", render only those ids specified in the "render" attribute, forgoing the render of the auto-rendered panels
  `listHeight` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Defines height of file list. Default value is "210px".
  `maxFileSize` | `false` | `javax.el.ValueExpression` (must evaluate to `long`) | Defines the maximum allowed size of a file. Files exceeding the size will not be added in the component. Default value is 0 (no limit).
  `maxFilesQuantity` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Integer`) | Defines maximum number of files allowed to be uploaded. After a number of files in the list equals to the value of this attribute, "Add" button disappears and nothing could be uploaded even if you clear the whole list. In order to upload files again you should rerender the component. (Negative numbers means no limits; default value -1).
  `noDuplicate` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If "true" duplicate file uploads are prevented Default is "false"
  `onbeforedomupdate` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the ajax response comes back, but before the DOM is updated
  `onbegin` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called before an ajax request.
  `onclear` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a file is cleared
  `onclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is clicked over this element.
  `oncomplete` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called after the DOM is updated
  `ondblclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is double clicked over this element.
  `onerror` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The client-side script method to be called when an error has occurred during Ajax communications
  `onfileselect` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a file is selected
  `onfilesubmit` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a file is submitted
  `onkeydown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed down over this element.
  `onkeypress` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed and released over this element.
  `onkeyup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is released over this element.
  `onmousedown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is pressed down over this element.
  `onmousemove` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved within this element.
  `onmouseout` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved away from this element.
  `onmouseover` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved onto this element.
  `onmouseup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is released over this element.
  `onsizerejected` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a file exceeds the allowed size defined by maxFileSize parameter.
  `ontyperejected` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a file does not meet the conditions stated by acceptedTypes parameter.
  `onuploadcomplete` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a file upload is complete
  `render` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | IDs of components that will participate in the "render" portion of the Request Processing Lifecycle. Can be a single ID, a space or comma separated list of Id's, or an EL Expression evaluating to an array or Collection. Any of the keywords "@this", "@form", "@all", "@none", "@region" may be specified in the identifier list. Some components make use of additional keywords
  `rendered` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true.
  `serverErrorLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label displayed when a file upload fails due to a server error.
  `sizeExceededLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label displayed when a file exceeds the size limit.
  `status` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Name of the request status component that will indicate the status of the Ajax request
  `style` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | CSS style(s) to be applied when this component is rendered.
  `styleClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.
  `title` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Advisory title information about markup elements generated for this component.
  `uploadLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The label for the Upload button.

Output generated by Vdldoc View Declaration Language Documentation Generator.