i got a bit of messing around lately with html and found this great new features to XMLHttpRequest object.
now you can use it to send files and get their progress using javascript ! for all of us this is a great improvment , cause we don’t to use flash / silverlight / java anymore to get a neat progress bar for file upload.
of course there are great solutions (swfupload / uploadify etc) that hides the flash and mimics the whole process , but it not native to the browser …

so the uploader is wrapped as a class named .. you can guess Html5Uploader,
for ease of writing i used jquery – mainly for the selectors and event handling , but it can easily removed by anyone with a bit of javascript knowledge.
so in order to get it up & running create a new html5uploader object using such line :
var uploader = new Html5Uploader({ mimeTypes: “image/jpeg,image/gif,image/png,image/x-png,image/bmp”, queueSizeLimit: 10, fileInputId: ‘filesToUpload’ });
events thrown from the class :
onErrorAddingFile with an error object
onCancel – once a file is removed from queue
onAddedToQueue – once a file being added to queue (here you can write your own html)
onUploadStarted – for each file
onAllComplete – self explained i guess
onProgress – for file upload
onComplete – for each file
onError – on error while uploading.
you can download the demo from this link : html5 multiple file upload source
in the zip file you will find a .net solution with all the files (css/js/ashx) – the upload handler is a .net handler, you can modify one of my previous php upload handlers for this cause if you want to use php as your backend
and view an online demo @ html5 multiple file upload demo
right now chrome and firefox >4 supports html5 uploading, ie – not yet.
if you find this usefull , have any comments – please share with me, it’s nice to listen to my audience :)
Have a good one,
Ady