IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Impossible d'obtenir la taille d'un fichier


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut Impossible d'obtenir la taille d'un fichier
    Bonjour

    J'utilise le code suivant pour obtenir la taille des fichiers à partir de mon foumulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $("input[type='file']").each(function(index,inputFile) {
          formData.append(inputFile.name, inputFile.files[0]);
     console.log("le nom est :"+inputFile.name);
          console.log("la taille est :"+inputFile.size);
       });
    Sauf que quelque soit la taille du fichier, j'obtiens le message suivant:

    la taille est :20
    Et lorsque je fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    console.log("la taille est :"+inputFile.files[0].size);
    J'obtiens le message d'erreur suivant:

    Uncaught TypeError: Cannot read property 'size' of undefined
    Comment faire pour avoir la taille du fichier?

    Merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 519
    Par défaut
    Salut,
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="file" />
    <button>Get File infos</button>

    Code jQuery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
      //avec change
      $('[type="file"]').change(function(inputFile){
    	if(this.files[0]||inputFile.currentTarget.files[0]){
    	  console.log("this.files[0].size :",this.files[0].size
    		," this.files[0].name",this.files[0].name
    		,", $(this).get(0).files[0].size :",$(this).get(0).files[0].size
    		,", $(this).get(0).files[0].name :",$(this).get(0).files[0].name
    		," inputFile.currentTarget.files[0].size :"+inputFile.currentTarget.files[0].size
    		," inputFile.currentTarget.files[0].name :",inputFile.currentTarget.files[0].name);
    	}
    	  else{console.log('aucun fichier choisi');}
      });
     
      //avec click sur le bouton
      $('button').click(function(){
       $("[type='file']").each(function(index,inputFile) {
    	  if(inputFile.files[0]){
    		console.log('inputFile.size :',inputFile.files[0].size
    		," inputFile.name :",inputFile.files[0].name
    		," $(inputFile).get(0).files[0].size :",$(inputFile).get(0).files[0].size
    		," $(inputFile).get(0).files[0].name :",$(inputFile).get(0).files[0].name);
    	  }
    	  else {
    		console.log("Aucun fichier choisi");
    	  }
       });

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Ok merci beaucoup, ça marche.

    Mais si je ne veux pas utiliser la boucle each, c'est-à-dire faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="file" class="custom-file-input" id="monFichier" name="fichier">
     
    alert ($('#monFichier).get(0).files.size);
    J'ai le message suivant au niveau de la console:

    undefined

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 519
    Par défaut
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#monFichier").get(0).files[0].size

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Ok je vois, merci ça marche. Sauf que quand j'essaie de combiner avec le 1er code que tu m'as donné, ça ne marche pas. Je voudrais, en effet, afficher un message d'erreur lorsque le champ file est vide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if($("#monFichier").files[0]){
    	console.log($("#monFichier").get(0).files[0].size);
      }
      else {
    	console.log("Aucun fichier choisi");
      }
    Sauf que j'ai le message d'erreur suivant:

    TypeError: $(...).files is undefined

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 519
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($("#monFichier").get(0).files[0]){...}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Obtenir la taille d'un fichier distant.
    Par Cravis dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/09/2007, 15h31
  2. Obtenir la taille d'un fichier selectionné via input
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 29/06/2007, 08h54
  3. obtenir la taille d'un fichier
    Par Wael Maaoui dans le forum Général Python
    Réponses: 1
    Dernier message: 26/04/2007, 16h01
  4. obtenir la taille d'un fichier à partir de son URL
    Par djanos dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 23/02/2007, 00h22
  5. Comment obtenir la taille d'un fichier?
    Par Bruno29 dans le forum Flash
    Réponses: 3
    Dernier message: 16/01/2007, 20h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo