Plupload v1.2.3

Allows you to upload files using HTML5 Gears, Silverlight, Flash, BrowserPlus or normal forms, providing some unique features such as upload progress, image resizing and chunked uploads.

 

All runtimes example

Shows the jQuery Plupload Queue widget where each runtime is initialized separately so that you can see what your browser currently supports.

Flash runtime

You browser doesn't have Adobe Flash installed.

Gears runtime

You browser doesn't have Google Gears plugin installed.

Silverlight runtime

You browser doesn't have Microsoft Silverlight plugin installed.

BrowserPlus runtime

You don't have the Yahoo BrowserPlus plugin installed.

HTML 5 runtime

You browser doesn't support native upload. Try Firefox 3 or Safari 4.

HTML 4 runtime

You browser doesn't support simple upload forms. Are you using Lynx?

Source

Here are the essentials parts needed to convert a element into an upload queue widget.
<!-- Load Queue widget CSS and jQuery -->
<style type="text/css">@import url(css/plupload.queue.css);</style>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
	google.load("jquery", "1.3");
</script>

<!-- Thirdparty intialization scripts, needed for the Google Gears and BrowserPlus runtimes -->
<script type="text/javascript" src="/plupload/js/gears_init.js"></script>
<script type="text/javascript" src="http://bp.yahooapis.com/2.4.21/browserplus-min.js"></script>

<!-- Load plupload and all it's runtimes and finally the jQuery queue widget -->
<script type="text/javascript" src="/plupload/js/plupload.full.min.js"></script>
<script type="text/javascript" src="/plupload/js/jquery.plupload.queue.min.js"></script>

<script type="text/javascript">
// Convert divs to queue widgets when the DOM is ready
$(function() {
	// Setup flash version
	$("#flash_uploader").pluploadQueue({
		// General settings
		runtimes : 'flash',
		url : 'upload.php',
		max_file_size : '10mb',
		chunk_size : '1mb',
		unique_names : true,

		// Resize images on clientside if we can
		resize : {width : 320, height : 240, quality : 90},

		// Specify what files to browse for
		filters : [
			{title : "Image files", extensions : "jpg,gif,png"},
			{title : "Zip files", extensions : "zip"}
		],

		// Flash settings
		flash_swf_url : '/plupload/js/plupload.flash.swf'
	});

	// Setup gears version
	$("#gears_uploader").pluploadQueue({
		// General settings
		runtimes : 'gears',
		url : 'upload.php',
		max_file_size : '10mb',
		chunk_size : '1mb',
		unique_names : true,

		// Resize images on clientside if we can
		resize : {width : 320, height : 240, quality : 90},

		// Specify what files to browse for
		filters : [
			{title : "Image files", extensions : "jpg,gif,png"},
			{title : "Zip files", extensions : "zip"}
		]
	});

	// Setup silverlight version
	$("#silverlight_uploader").pluploadQueue({
		// General settings
		runtimes : 'silverlight',
		url : 'upload.php',
		max_file_size : '10mb',
		chunk_size : '1mb',
		unique_names : true,

		// Resize images on clientside if we can
		resize : {width : 320, height : 240, quality : 90},

		// Specify what files to browse for
		filters : [
			{title : "Image files", extensions : "jpg,gif,png"},
			{title : "Zip files", extensions : "zip"}
		],

		// Silverlight settings
		silverlight_xap_url : '/plupload/js/plupload.silverlight.xap'
	});

	// Setup browserplus version
	$("#browserplus_uploader").pluploadQueue({
		// General settings
		runtimes : 'browserplus',
		url : 'upload.php',
		max_file_size : '10mb',
		chunk_size : '1mb',
		unique_names : true,
		dragdrop : false, // Disabled since BrowserPlus is to buggy

		// Resize images on clientside if we can
		resize : {width : 320, height : 240, quality : 90},

		// Specify what files to browse for
		filters : [
			{title : "Image files", extensions : "jpg,gif,png"},
			{title : "Zip files", extensions : "zip"}
		]
	});

	// Setup html5 version
	$("#html5_uploader").pluploadQueue({
		// General settings
		runtimes : 'html5',
		url : 'upload.php',
		max_file_size : '10mb',
		chunk_size : '1mb',
		unique_names : true,

		// Resize images on clientside if we can
		resize : {width : 320, height : 240, quality : 90},

		// Specify what files to browse for
		filters : [
			{title : "Image files", extensions : "jpg,gif,png"},
			{title : "Zip files", extensions : "zip"}
		]
	});

	// Setup html4 version
	$("#html4_uploader").pluploadQueue({
		// General settings
		runtimes : 'html4',
		url : 'upload.php'
	});
});
</script>

...

<h4>Flash runtime</h4>
<div id="flash_uploader">You browser doesn't have Adobe Flash installed.</div>

<h4>Gears runtime</h4>
<div id="gears_uploader">You browser doesn't have Google Gears plugin installed.</div>

<h4>Silverlight runtime</h4>
<div id="silverlight_uploader">You browser doesn't have Microsoft Silverlight plugin installed.</div>

<h4>BrowserPlus runtime</h4>
<div id="browserplus_uploader">You don't have the Yahoo BrowserPlus plugin installed.</div>

<h4>HTML 5 runtime</h4>
<div id="html5_uploader">You browser doesn't support native upload. Try Firefox 3 or Safari 4.</div>

<h4>HTML 4 runtime</h4>
<div id="html4_uploader">You browser doesn't support simple upload forms. Are you using Lynx?</div>
			
Plupload - Making multiple uploading easier than ever.
 
Fork me at GitHub