J'ai utilisé la méthode suivante
HTML
<input type="file" id="loadfile" />
JavaScript
var file = document.getElementById('loadfile').files[0];
alert( "name " + file.name + "Size " + file.size );
Cela fonctionne très bien avec les autres navigateurs sauf IE :( Comment entrer dans IE?
IE ne fournit pas d'informations sur la taille du fichier, j'en ai bien peur. Vous pourrez peut-être utiliser l'API de fichier HTML5 avec IE10, voir ici: -
Javascript pour vérifier la taille du fichier avant de le télécharger dans Internet Explorer
vous pouvez le faire comme ça en utilisant 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");
}
voir ici pour plus de détails;
comment valider la taille du fichier en utilisant HTML et Javascript côté client
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);
}
}
voir filddle
Jusqu'à la version 9, IE ne prend pas en charge le API de fichier nécessaire pour obtenir la taille du fichier. IE10 ne supporte pas la taille de fichier.
IE ne prend pas en charge l'API de fichier
source: https://github.com/blueimp/jQuery-File-Upload/issues/147
devez utiliser un contrôle ActiveX pour effectuer cette 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");
}