Here\'s my nonworking attempt:
Actually, HTML5 and the new File API does support uploading via XmlHttpRequest. It works beautifully in Firefox 4 and Chrome.
XmlHttpRequest has no support to upload files. you need to use some hidden iframe or a flash solution.
You can not upload file using plain JS/AJAX. A known trick is to post your file to a hidden iframe and update the iframe.