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: