The accepted answer is actually correct, but you need to bind it to a event listener so that it would update when ever the file input is changed.
document.getElementById('fileInput').onchange = function(){
var filesize = document.getElementById('fileInput').files[0].size;
console.log(filesize);
}
If you are using jQuery library then the following code may come handy
$('#fileInput').on('change',function(){
if($(this).get(0).files.length > 0){ // only if a file is selected
var fileSize = $(this).get(0).files[0].size;
console.log(fileSize);
}
});
Given that the conversion of the fileSize to display in which ever metric is up to you.
$('#inputFile').bind('change', function(e) {
var data = e.originalEvent.target.files[0];
// and then ...
console.log(data.size + "is my file's size");
// or something more useful ...
if(data.size < 500000) {
// what your < 500kb file will do
}
}
I prefer to do the check (validation), when the form is about to be submitted. That way, I don't have to perform an extra check to know if a file was selected, because the size check happens alongside other html5 validation attributes (e.g. required).
$('#fileForm').on('submit',function() {
// file will not submit if is greater than 5MB
if($('#fileInput').prop('files')[0].size > 5*1024*1024){
alert('Max file size is 5MB');
return false;
}
});