2011-10-04 4 views

Répondre

1

Compatible avec tous les navigateurs? - pas de solution

Compatible avec Firefox, Chrome, Safari, Opera - script suivant

document.getElementById("file_elem_id").files[0].size 

Doesnt travaille avec IE8 (pas encore testé sur IE9)

+0

Il ne fonctionne pas dans Firefox 7 aussi :( –

+0

[violon ici] (http://jsfiddle.net/9M2rL/) – anu

+0

Je suis en utilisant Firefox 7 et son travail pour Vérifiez le lien dans mon commentaire précédent – anu

0

vous faire savoir que l'API de fichiers jQuery est non pris en charge pour les versions IE-9 ou inférieures. Dans ces cas, nous sommes tenus de vérifier la taille du fichier en créant l'ActiveXObject, car c'est le seul moyen de traiter les fichiers système pour obtenir la taille du fichier avant le téléchargement.

Mais ici un autre problème est là comme ActiveX doit être installé/activé/configuré correctement sur le navigateur sur la machine client sinon il ne sera pas reconnu. Par conséquent, j'ai trois façons d'obtenir la taille du fichier ici: - 1) Obtenez la taille du fichier en transférant l'ensemble du fichier sur le serveur et renvoyer la taille du fichier à partir de là. 2) Il est très facilement peut être trouvé en utilisant le Silverlight, Flash ou autres choses sur le côté client. 3) Chargez le fichier en morceaux sur le serveur lorsqu'il dépasse la limite de taille de fichier, puis retournez l'utilisateur avec un message.

Obtenir la taille de fichier dans jQuery (pris en charge dans IE 10, FF, navigateurs Chrome)

$('#fileInputID').change(function(){ 
     var file=this.files[0]; 
     alert(file.size||file.fileSize); 
    }) 

Obtenir la taille du fichier à utiliser ajax, ce qui demande HEAD seulement:

var response = $.ajax({ 
type: "HEAD", 
url: fileurl,// file url on server 
success: function() { 
    alert("Size of file is " + request.getResponseHeader("Content-Length")); 
    } 
}); 

espère que ce sera utile.

Références: - http://www.aspnetcodes.com/2012/07/example-to-get-file-size-before-upload.html

Questions connexes