Je ne connais pas d'une seule façon d'obtenir systématiquement la taille du fichier exacte, mais si vous êtes prêt à sauter à travers des cerceaux, vous pouvez:
1) Estimation basée sur les dimensions et le type de fichier. En raison des techniques de compression, il y a de grandes variations, mais vous pourriez probablement faire des statistiques et trouver une heuristique à moitié décente.
2) Dans IE, utilisez la propriété fileSize
d'une image. Dans les autres navigateurs prenant en charge Canvas, utilisez la technique décrite in this question on getting image data in JavaScript pour saisir l'URL dataURL, puis faites le calcul (multipliez par 3/4, car base64 est une augmentation de taille 4/3).
Modifier
3) Les autres suggestions ont donné (en particulier exposé dans la question liée à la réponse de Fabien Bernède) à obtenir en-têtes HTTP est brillante et précise. Dans certains cas, cela va probablement à l'encontre des restrictions interdomaines, mais c'est probablement la méthode la plus cohérente et la plus efficace.
Tout contenu téléchargeable a une taille et il y a quelques façons bien définies de récupérer ces informations. – Manfre
@ user326404 pas dans js J'ai peur – redsquare
@redsquare - C'est incorrect. var xhr = new XMLHttpRequest(); xhr.open ('HEAD', 'http: //whatever.file.git', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status == 200) { alert ('Taille en octets:' + xhr.getResponseHeader ('Content-Length')); } } }; xhr.send (null); – bmelton