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 :

Client FTP: Download & Upload


Sujet :

C#

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Par défaut Client FTP: Download & Upload
    Bonjour a vous (ou plutôt bonsoir !).

    Je viens vers vous car je suis completement perdu !
    Je réalise un logiciel permetant de synchroniser des fichiers entre un serveur FTP et un PC.

    J'utilise actuellement "FtpWebRequest" et je n'arrive pas a trouver le bon code pour télécharger un fichier...
    Tout ce que je trouve sur le net et différent et soit je ne comprend pas, soit ca ne fonctionne pas (ou du moins je n'arrive pas a le faire fonctionner.)

    Donc si quelqu'un peut m'aider svp...

    Voilà ce que j'ai fait moi même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    FtpWebRequest fRequeteFTPDate = (FtpWebRequest.Create(new Uri(sHote + sFichier)) as FtpWebRequest);
    fRequeteFTPDate.Credentials = new NetworkCredential(sLogin, sMdP);
    fRequeteFTPDate.Method = WebRequestMethods.Ftp.DownloadFile;
    FtpWebResponse ftpResponseDownload = (FtpWebResponse)fRequeteFTPDate.GetResponse();
    readerDownload.ReadToEnd();
    et voilà ce que j'ai trouver, mais qui ne fonctionne pas plus...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    FtpWebRequest fRequeteFTPDate = (FtpWebRequest.Create(new Uri(sHote + sFichier)) as FtpWebRequest);
    fRequeteFTPDate.Credentials = new NetworkCredential(sLogin, sMdP);
    fRequeteFTPDate.Method = WebRequestMethods.Ftp.DownloadFile;
    FtpWebResponse ftpResponseDownload = (FtpWebResponse)fRequeteFTPDate.GetResponse();
    StreamReader readerDownload = new StreamReader(ftpResponseDownload.GetResponseStream());
    FileStream fs = new FileStream(sCheminFichier, FileMode.Create);
    byte[] byWork = new byte[2047] ;
    int iWork = readerDownload.Read();
    fs.Write(byWork, 0, iWork);
    Sinon on m'a donné ce lien : http://www.codeproject.com/KB/IP/ftplib.aspx
    Afin d'utiliser la class ftplib, mais je ne sais pas comment l'intégrer a mon projet, puis c'est un projet que je doit rendre pour le BTS donc j'aimerais bien tout faire moi même !

    Merci à ceux qui auront au moins pris la peine de me lire

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    essaie ça :
    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
     
          byte[] buffer;
          int i;
          BinaryReader br;
     
          FileStream fs = new FileStream("C:\\temp\\test.txt", FileMode.Create);
          FtpWebRequest fRequeteFTPDate = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://monserveur/monfichier"));
          fRequeteFTPDate.Credentials = new NetworkCredential(login, pwd);
          fRequeteFTPDate.Method = WebRequestMethods.Ftp.DownloadFile;
          FtpWebResponse ftpResponseDownload = (FtpWebResponse)fRequeteFTPDate.GetResponse();
          i = (int)fRequeteFTPDate.ContentLength;
          br = new BinaryReader(ftpResponseDownload.GetResponseStream());
     
          bufferb = new byte[1024];
          while ((i = br.Read(buffer, 0, buffer.Length)) > 0)
          {
            fs.Write(buffer, 0, i);
          }      
          fs.Close();

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Par défaut
    Je post ma solution, si ca peut aider

    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
     
    FtpWebResponse ftpResponseDownload = null;
    FileStream fs = null;
    BinaryReader br = null;
     
    FtpWebRequest fRequeteFTPDownload = (FtpWebRequest)FtpWebRequest.Create(new Uri(sHote + sFichier));
    fRequeteFTPDownload.Credentials = new NetworkCredential(sLogin, sMdP);
    fRequeteFTPDownload.Method = WebRequestMethods.Ftp.DownloadFile;
    ftpResponseDownload = (FtpWebResponse)fRequeteFTPDownload.GetResponse();
     
    byte[] buffer;
    int j;
    fs = new FileStream(sCheminFichier, FileMode.Create); // Création du fichier en local
    br = new BinaryReader(ftpResponseDownload.GetResponseStream()); // Lecture binaire du fichier FTP
    buffer = new byte[1024];
    while ((j = br.Read(buffer, 0, buffer.Length)) > 0)
    {
         fs.Write(buffer, 0, j);
    }

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

Discussions similaires

  1. Erreur FTP durant download et upload
    Par thibaud dans le forum IIS
    Réponses: 2
    Dernier message: 07/12/2010, 11h36
  2. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  3. Librairie client FTP
    Par Anonymous dans le forum Développement
    Réponses: 2
    Dernier message: 14/05/2004, 15h35
  4. Client FTP sous Linux ?
    Par DgG dans le forum Réseau
    Réponses: 7
    Dernier message: 26/01/2004, 19h26

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