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

C# Discussion :

Comment determiner la taille d'un fichier sur un serveur (HTTP ou FTP)?


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 35
    Points
    35
    Par défaut Comment determiner la taille d'un fichier sur un serveur (HTTP ou FTP)?
    Comment determiner la taille d'un fichier sur un serveur Web sans le telecharger? J'ai essayé avec HttpWebRequest et HttpWebResponse, mais apparement, il telecharge aussi le fichier?
    En fait j'en ai besoin pour pouvoir faire une progressBar lors de telechargement.

  2. #2
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Points : 118
    Points
    118
    Par défaut
    Hello,

    Est-ce que tu as essayé avec la methode HEAD au niveau du Webrequest ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    request = (HttpWebRequest)WebRequest.Create(filePath);
    request.Method = "HEAD";
    request.ProtocolVersion = HttpVersion.Version11;
     
    resp = (HttpWebResponse)request.GetResponse();
     
    Console.WriteLine("File length : "+resp.ContentLength);
     
    resp.Close();
    Chez moi, ça marche (j'ai fait le test avec des fichiers de 200 Mo, la réponse est immédiate)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 35
    Points
    35
    Par défaut
    En fait mon probleme se situe au niveau de FTP, j'ai tjours -1 comme taille de fichier

  4. #4
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par zwan.bourg
    En fait mon probleme se situe au niveau de FTP, j'ai tjours -1 comme taille de fichier
    Avec le Framework 2.0, il existe une classe FtpWebRequest qui devrait faire ton bonheur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create(fileName);
        ftp.Credentials = new NetworkCredential(username, password);
        ftp.Method = WebRequestMethods.Ftp.GetFileSize;
        FtpWebResponse resp = (FtpWebResponse)ftp.GetResponse();    
        Console.WriteLine(resp);
    (Code fourni sans certitude, je n'ai pas le framwork 2.0...)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Cold Hand
    Avec le Framework 2.0, il existe une classe FtpWebRequest qui devrait faire ton bonheur...
    Ouais ça marche, plutot comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create(fileName);
        ftp.Credentials = new NetworkCredential(username, password);
        ftp.Method = WebRequestMethods.Ftp.GetFileSize;
        FtpWebResponse resp = (FtpWebResponse)ftp.GetResponse();
        Console.WriteLine("Status Code: {0}", resp.StatusCode);
        Console.WriteLine("Status Description: {0}", resp.StatusDescription); 
        resp.Close();
    resp.StatusDescription donne la taille avec d'autres informations. Avec un peu de traitement et de conversion on a la taille en octets!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/07/2010, 16h32
  2. Taille d'un fichier sur le serveur
    Par nibroc dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/02/2010, 11h32
  3. Réponses: 2
    Dernier message: 09/07/2009, 16h11
  4. Récuperer la taille d"un fichier sur un serveur ftp
    Par johnson95 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 09/10/2006, 13h13
  5. Réponses: 6
    Dernier message: 08/04/2005, 03h00

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