FileUploader

The FileUploader widget enables an end user to upload files to the server. An end user can select files in the file explorer or drag and drop files to the FileUploader area on the page.

Included in: dx.mobile.js, dx.web.js, dx.viz-web.js, dx.all.js
FileUploader interactive configuration
Copy Code
Copy to Codepen
$("#fileuploader").dxFileUploader({
});

                    

The FileUploader widget is based on an input element with the type attribute set to "file". Values of widget options are passed to appropriate attributes of the underlying input element.

You can create the widget using one of the following approaches.

  • jQuery
    Use the dxFileUploader jQuery plug-in.

    HTML
    <div id="fileUploader"></div>
    JavaScript
    $("#fileUploader").dxFileUploader({
        buttonText: 'Select file',
        labelText: 'Drop file here',
        multiple: true,
        accept: 'image/*'
    });
  • Knockout
    Add a div element and apply the dxFileUploader binding to this element.

    HTML
    <div data-bind="dxFileUploader: {
        buttonText: 'Select file',
        labelText: 'Drop file here',
        multiple: true,
        accept: 'image/*'
    }"></div>
  • AngularJS
    Add a div element and apply the dx-file-uploader directive to this element.

    HTML
    <div dx-file-uploader="{
        buttonText: 'Select file',
        labelText: 'Drop file here',
        multiple: true,
        accept: 'image/*'
    }"></div>

Note that DevExtreme widgets require you to link the jQuery library to your application. If you use the Knockout or AngularJS approach, the Knockout or AngularJS library is also required. For detailed information on linking these libraries to your project, refer to the Installation article.

You can find detailed information on the principles of working with the widget in the dxFileUploader section of the Editor Widgets article.

View Demo

Watch Video

Configuration

An object defining configuration options for the FileUploader widget.

Name Description
accept

Specifies a file type or several types accepted by the widget.

accessKey

Specifies a shortcut key that sets focus on the widget element.

activeStateEnabled

A Boolean value specifying whether or not the widget changes its state when interacting with a user.

allowCanceling

Specifies if an end user can remove a file from the selection and interrupt uploading.

disabled

A Boolean value specifying whether or not the widget can respond to user interaction.

focusStateEnabled

Specifies whether or not the widget can be focused.

height

Specifies the height of the widget.

hint

Specifies the text of the hint displayed for the widget.

hoverStateEnabled

A Boolean value specifying whether or not the widget changes its state when being hovered by an end user.

isValid

Specifies whether the editor's value is valid.

labelText

Specifies the text displayed on the area to which an end-user can drop a file.

multiple

Specifies whether the widget enables an end-user to select a single file or multiple files.

name

Specifies the value passed to the name attribute of the underlying input element.

onDisposing

A handler for the disposing event.

onInitialized

A handler for the initialized event.

onOptionChanged

A handler for the optionChanged event.

onProgress

A handler for the uploaded event.

onUploadAborted

A handler for the uploadAborted event.

onUploaded

A handler for the uploaded event.

onUploadError

A handler for the uploadError event.

onUploadStarted

A handler for the uploadStarted event.

onValueChanged

A handler for the valueChanged event.

progress

Gets the current progress in percentages.

readOnly

A Boolean value specifying whether or not the widget is read-only.

readyToUploadMessage

The message displayed by the widget when it is ready to upload the specified files.

rtlEnabled

Specifies whether or not the current component supports a right-to-left representation.

selectButtonText

The text displayed on the button that opens the file browser.

showFileList

Specifies whether or not the widget displays the list of selected files.

tabIndex

Specifies the widget tab index.

uploadButtonText

The text displayed on the button that starts uploading.

uploadedMessage

The message displayed by the widget when uploading is finished.

uploadFailedMessage

The message displayed by the widget on uploading failure.

uploadHeaders

Specifies headers for the upload request.

uploadMethod

Specifies the method for the upload request.

uploadMode

Specifies how the widget uploads files.

uploadUrl

Specifies a target Url for the upload request.

validationError

Holds the object that defines the error that occurred during validation.

value

A read-only option that holds a File instance representing the selected file.

visible

A Boolean value specifying whether or not the widget is visible.

width

Specifies the width of the widget.

Methods

This section describes the members used to manipulate the widget.

Name Description
beginUpdate()

Prevents the component from refreshing until the endUpdate() method is called.

defaultOptions(rule)

Specifies the device-dependent default configuration options for this component.

element()

Returns the root HTML element of the widget.

endUpdate()

Enables the component to refresh after the beginUpdate() method call.

focus()

Sets focus on the widget.

instance()

Returns an instance of this component class.

off(eventName)

Detaches all event handlers from the specified event.

off(eventName, eventHandler)

Detaches a particular event handler from the specified event.

on(eventName, eventHandler)

Subscribes to a specified event.

on(events)

Subscribes to the specified events.

option()

Returns the configuration options of this component.

option(optionName)

Gets the value of the specified configuration option of this component.

option(optionName, optionValue)

Sets a value to the specified configuration option of this component.

option(options)

Sets one or more options of this component.

registerKeyHandler(key, handler)

Registers a handler when a specified key is pressed.

repaint()

Redraws the widget.

reset()

Resets the editor's value to undefined.

Events

This section describes events fired by this widget.

Name Description
disposing

Fires when the widget is being removed.

initialized

Fires when the widget is initialized.

optionChanged

Fires after an option of the component is changed.

progress

Fires when a segment of a file has been uploaded.

uploadAborted

Fires when file uploading has been aborted.

uploaded

Fires when a file has been uploaded.

uploadError

Fires when an error has occurred during uploading.

uploadStarted

Fires when file uploading is started.

valueChanged

Fires when a file or several files are added to or removed from selection.