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

Entrée/Sortie Java Discussion :

[HTTP] Connaître la taille d'un fichier en ligne


Sujet :

Entrée/Sortie Java

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 238
    Points
    238
    Par défaut [HTTP] Connaître la taille d'un fichier en ligne
    Est-il possible de connaître la taille d'un fichier avant de le télécharger avec Java ? Je ne trouve aucune info là-dessus, ni dans la FAQ, ni sur le net...

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    Personnellement, je vois pas trop comment...

    Tu peux peut etre avoir ca dans les premiers paquets du transfert, mais rien n'est moins sur...

    Tu as ca sur certains serveurs bien fait, qui, notamment un transfert fait avec servlet, tu donnes la taille du flux en sortie en info, au ServletOutputStream, mais sinon, il n'y a aucune raison que cette info soit transmise...

    En passant par FTP, tu peux effectivement l'avoir, mais en HTTP, je vois pas trop... Mais je ne me pretends pas expert en la matiere, HTTP is not my daily cup of tea...

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 238
    Points
    238
    Par défaut
    J'ai tout de même réussi d'une manière un peu détourner et via le HTTP !

    Je lis les headers du documents et j'isole le header "Content-Length" qui donne la taille en octets.

    Je mets le code à tous hasard :

    Code : 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
    public static String getFileSize (String url) throws Exception
        {
            URL aURL = new URL (url);
            URLConnection yc = aURL.openConnection ();
     
            String header = "";
            int i = 0;
     
            while ((header = yc.getHeaderField (i)) != null)
            {
                if (yc.getHeaderFieldKey(i) != null)
                {
                    if (yc.getHeaderFieldKey (i).equals ("Content-Length"))
                        return header;
                }
                i++;
            }
            return "-1" ;
        }

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    Honte a moi...

    Je suis fatigué en ce début de semaine...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Plop, j'ai trouvé une méthode peut etre un peu moin "bidouille"
    Je reprend ton code et je le change

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static String getFileSize (String url) throws Exception
        {
            URL aURL = new URL (url);
            URLConnection yc = aURL.openConnection ();
            // recupere la taille du fichier .....
    	int FileLenght = yc.getContentLength();
     
    	if (FileLenght == -1 ) {
    		throw new IOException("Fichier non valide.");
    	}
    	return FileLenght;
        }
    Voila, je l'ai tappé en live donc désolé s'il y'a une petite faute de frappe ou deux :p

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

Discussions similaires

  1. [GWTUpload]Connaître la taille d'un fichier durant upload
    Par Lionkid dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 13/06/2012, 12h01
  2. connaître la taille d'un fichier
    Par sam01 dans le forum z/OS
    Réponses: 18
    Dernier message: 29/10/2008, 09h41
  3. Réponses: 13
    Dernier message: 22/01/2008, 15h25
  4. Connaître la taille d'un fichier sur un server
    Par NicolasJolet dans le forum C#
    Réponses: 2
    Dernier message: 19/12/2007, 20h21
  5. [WebForms]Comment connaître la taille d'un fichier à uploader ?
    Par WELCOMSMAIL dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 02/05/2006, 15h27

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