Reputation: 2293
I used the following methode
HTML
<input type="file" id="loadfile" />
JavaScript
var file = document.getElementById('loadfile').files[0];
alert( "name " + file.name + "Size " + file.size );
It works fine other browsers except IE :( How to get in IE ?
Upvotes: 9
Views: 44549
Reputation: 3329
document.getElementById('loadfile').addEventListener('change', checkFile, false);
function checkFile(e) {
var file_list = e.target.files;
for (var i = 0, file; file = file_list[i]; i++) {
var fileExtension = file.name.split('.')[file.name.split('.').length - 1].toLowerCase();
var iConvert = (file.size / 1024).toFixed(2);
txt = "File type : " +fileExtension + "\n";
if(file.size > (1024 * 1024)){
txt += "Size: " + (file.size / (1024*1024)).toFixed(2) + " MB \n";
} else {
txt += "Size: " + (file.size / 1024).toFixed(2) + " KB \n";
}
alert(txt);
}
}
see filddle
Upvotes: 1
Reputation: 5485
IE doesn't support File API
source : https://github.com/blueimp/jQuery-File-Upload/issues/147
have to use an ActiveX control to perform this action
function getSize()
{
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.upload.file.value;
var thefile = myFSO.getFile(filepath);
var size = thefile.size;
alert(size + " bytes");
}
Upvotes: 0
Reputation: 7663
you can do it like this using activeX
function getSize()
{
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.upload.file.value;
var thefile = myFSO.getFile(filepath);
var size = thefile.size;
alert(size + " bytes");
}
see here for more detail;
how validate file size using HTML and Javascript on client side
Upvotes: 1
Reputation: 9622
IE up to version 9 does not support the file API which is needed to get the file size. IE10 does not support file size.
Upvotes: 0
Reputation: 29668
IE doesn't supply file size information I'm afraid. You might be able to use HTML5 File API with IE10, see here:-
Javascript to check filesize before upload in Internet Explorer
Upvotes: 5