81 votes

Vérification de la taille du fichier par le client avec HTML5 ?

J'essaie de suivre la vague HTML5 mais je suis confronté à un petit problème. Avant HTML5, nous vérifiions la taille du fichier avec Flash mais maintenant la tendance est d'éviter d'utiliser Flash dans les applications web. Existe-t-il un moyen de vérifier la taille du fichier côté client en utilisant HTML5 ?

122voto

Abdullah Jibaly Points 14269

Ça marche. Placez-le dans un écouteur d'événements pour quand l'entrée change.

if (typeof FileReader !== "undefined") {
    var size = document.getElementById('myfile').files[0].size;
    // check file size
}

38voto

Ammadu Points 1365

La réponse acceptée est en fait correcte, mais vous devez la lier à un écouteur d'événements afin qu'elle soit mise à jour lorsque l'entrée du fichier est modifiée.

document.getElementById('fileInput').onchange = function(){
    var filesize = document.getElementById('fileInput').files[0].size;
    console.log(filesize);    
}

Si vous utilisez la bibliothèque jQuery, le code suivant peut vous être utile

$('#fileInput').on('change',function(){
  if($(this).get(0).files.length > 0){ // only if a file is selected
    var fileSize = $(this).get(0).files[0].size;
    console.log(fileSize);
  }
});

Étant donné que la conversion de la taille du fichier en affichage dans n'importe quelle métrique est à votre discrétion.

7voto

Konga Raju Points 3352

L'api HTML5 fie permet de vérifier la taille du fichier.

lisez cet article pour obtenir plus d'informations sur l'api fichier

http://www.html5rocks.com/en/tutorials/file/dndfiles/

<input type="file" id="fileInput" />

var size = document.getElementById("fileInput").files[0].size;

L'API du fichier similaire donne le nom et le type.

4voto

Alexander Leon Points 51

Personnellement, j'opterais pour ce format :

    $('#inputFile').bind('change', function(e) {
      var data = e.originalEvent.target.files[0];
      // and then ...
      console.log(data.size + "is my file's size");
      // or something more useful ...
      if(data.size < 500000) {
        // what your < 500kb file will do
      }
    }

2voto

Julien Points 3525

"pas de solution simple et multi-navigateur pour y parvenir" : Détecter la taille du fichier téléchargé du côté client ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X