You can do it in vanilla JSJavaScript pretty easily. Here's a snippet from my current project:
var xhr = new XMLHttpRequest();
xhr.upload.onprogress = function(e) {
var percent = (e.position/ e.totalSize);
// renderRender a pretty progress bar
};
xhr.onreadystatechange = function(e) {
if(this.readyState === 4) {
// handleHandle file upload complete
}
};
xhr.open('POST', '/upload', true);
xhr.setRequestHeader('X-FileName',file.name); // passPass the filename along
xhr.send(file);