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 ?
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 ?
Share Improve this question edited Nov 22, 2012 at 11:42 Ash Burlaczenko 25.4k15 gold badges69 silver badges101 bronze badges asked Nov 22, 2012 at 11:39 rakiraki 2,2938 gold badges33 silver badges43 bronze badges 5- 4 IE doesn't support File API. – Ram Commented Nov 22, 2012 at 11:41
- 2 caniuse.com/#feat=fileapi – adeneo Commented Nov 22, 2012 at 11:42
- Thanks all ... I also get the info from everywhere that IE doesn't support this feature :( I had found a great plugin for file upload blueimp.github.com/jQuery-File-Upload – raki Commented Nov 22, 2012 at 11:54
- You may be able to do it if you use Flash. Is Flash not an option? We use a Flash uploader that does get filesize, but I think what we have is a custom built one, not some publicly available Flash uploader. But the publicly available ones might have that functionality as well. We use the Flash uploader in IE only and go with HTML5/JS based uploader on the other browsers. Suggest you look into the same approach. – David Commented Mar 29, 2013 at 6:43
- This works from IE 10 onwards, also check whether you have meta element. e.g. <meta http-equiv="x-ua-compatible" content="IE=9">. Use <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">instead – RasikaSam Commented Mar 20, 2017 at 6:31
5 Answers
Reset to default 5IE 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
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
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
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.
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");
}
source: http://www.sencha.com/forum/showthread.php?196859-File-Upload-Field-IE-Safari-Opera-fileInput-error.&s=b124834725ae363759158268d91ac32c