#### Uploaders - Plupload

Statistics Invoices Schedule

##### All runtimes

Plupload is a cross-browser `multi-runtime` file uploading API. Basically, a set of tools that will help you to build a reliable and visually appealing file uploader in minutes. This example replaced a specific div with a the jQuery uploader `queue` widget. It will automatically check for different runtimes in the configured order, if it fails it will not convert the specified element.

Queue widget example:

Your browser doesn't have Flash installed.

##### Flash runtime

Example of multiple file uploader with `flash` runtime. Flash runtime executes and displays content from a provided `SWF` file, although it has no in-built features to modify the `SWF` file at runtime. It can execute software written in the ActionScript programming language which enables the runtime manipulation of text, data, vector graphics, raster graphics, sound and video.

Flash runtime example:

Your browser doesn't have Flash installed.

##### HTML4 runtime

Example of multiple fime uploader with `HTML4` runtime. This kind of runtime doesn't support `drag and drop` functionality. This is the most standard runtime which supports older versions of all modern browsers. Currently, Plupload may be considered as consisting of three parts: low-level `pollyfills`, `Plupload API` and `Widgets`.

HTML4 runtime example:

Your browser doesn't have HTML 4 support.

##### HTML5 runtime

Example of `HTML5` runtime. The main benefit of HTML5 runtime is that files not only can be picked from browse dialog, but also can be dropped directly from the desktop. In some browsers, mostly in those based on WebKit, it is possible to drag and drop whole folders. Please note: drag and drop feature will not work in some legacy browsers.

HTML5 runtime example:

Your browser doesn't support native upload.

##### Uploader events

This example shows you how to bind various `events` to your plupload instance. Current example demonstrates 2 `preInit` events: `Init` - fires when the current RunTime has been initialized and `UploadFile` - fires when a file is to be uploaded by the runtime. All 15 `post init` events attached to the uploader you can see in the block below in upload process.

Uploader events example:

Your browser doesn't support native upload.

Uploader events: