I did a sample on File upload operation using AJAX with the help of features provided by the latest HTML5 browsers. Prior to Html5, we used workarounds like, Hidden IFrame with target attribute on Form tag to simulate the Async file upload.
As per MDN, FileReader() is less performant, since it is mainly used in file manipulation at client side.
Screenshot before file uploading
Screenshot after file selection
Screenshot after file upload success
For this sample i have used Asp.Net at server side. Depending on the server settings, big files may not be accepted, try with small files. Find the code for download below.
Hidden Fileupload control, textbox with default text & clickable, selected file remove option,
Tested with latest browsers: FireFox, Chrome, Opera.(not tested in Safari, may not work in IE9).
Zip file hosted in Opera. download from here.