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 :

Envoyer dossier sur serveur ftp


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Envoyer dossier sur serveur ftp
    Bonjour tous le monde,

    Je viens vers vous afin de m'aider à envoyer plusieurs fichier d'un dossier directement sur un serveur.
    Pour être plus précis mon programme écrit dans un dossier spécifique et à la fin il envoie le fichier sur le serveur et par la même occasion le déplace dans un second dossier de BackUp.
    Seulement, si le serveur n'est pas disponible de voudrais qu'il envoie les fichiers qui sont dans ce dossier la prochaine fois que le logiciel est utilisé.

    J'arrive à envoyer un fichier mais je n'arrive pas à envoyer tous les fichiers de manière récursive.
    Pour le déplacement des fichiers vers un autre dossier je rencontre le même problème.

    Merci d'avance

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bonjour,

    Tu veux dire que si tu as une arborescence, tu n'arrives pas à envoyer les fichiers qui se trouvent dans les sous dossiers ?

    Développe un peu ton problème, donne nous ton code, explique nous ce que ton code actuel fait par rapport à ce que tu souhaiterais.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse,
    Je souhaite envoyer tous les fichiers présent dans un dossier sur le serveur ftp et ensuite les deplacer dans un second dossier

    Pour l'envoie sur le serveur je me sert de cette classe mais cela ne me permet que d'envoyer un seul fichier en connaissant son nom or je dois envoyer TOUS les fichiers présent dans le dossier sachant que je ne connais pas leur nom.

    Code c# : 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
    28
    29
    30
    31
    32
    33
    34
    class serveurFTP
        {
            public string Server { get; set; }
            public string Name { get; set; }
            public string Password { get; set; }
     
            /**
             * \fn      Méthode gérant l'envoie sur le serveur FTP     
             * \param   filePath Chemin de destination du fichier
             * \param   InputFilePath Chemin du fichier
             */
            public void Upload(string filePath, string InputFilePath)
            {
                Uri serveurUri = new Uri("ftp://" + this.Server + "/" + filePath);
                if (serveurUri.Scheme != Uri.UriSchemeFtp)
                {
                    return;
                }
     
                FtpWebRequest myRequest = (FtpWebRequest)FtpWebRequest.Create(serveurUri);
                myRequest.Credentials = new NetworkCredential(this.Name, this.Password);
                myRequest.Method = WebRequestMethods.Ftp.UploadFile;
     
                FileStream stream = File.OpenRead(InputFilePath);
                byte[] buffer = new byte[stream.Length];
     
                stream.Read(buffer, 0, buffer.Length);
                stream.Close();
     
                Stream reqStream = myRequest.GetRequestStream();
                reqStream.Write(buffer, 0, buffer.Length);
                reqStream.Close();
            }
        }

  4. #4
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    La classe Directory possède une méthode statique nommée GetFiles() permettant de récupérer tous les fichiers contenus dans un répertoire.

    La doc ici

    Ensuite, si tu veux que ca s'applique à tous les sous dossier, tu peux utiliser la récursivité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    List<String> fichiersACopier = new List<String>();
     
    public void TrouverFichiers(string repertoire)
    {
    	string[] repertoiresEnfant = Directory.GetDirectories(repertoire);
    	foreach(string repertoire in repertoiresEnfant)
    		this.TrouverFichiers(repertoire);
     
     
    	string[] fichiers = Directory.GetFiles(repertoire);
    	foreach(string fichier in fichiers)
    		fichiersACopier.Add(Path.GetFullPath(fichier));
    }
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

Discussions similaires

  1. [CS6] Erreur FTP lors d'ouverture d'un dossier sur serveur
    Par kantoras dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 16/05/2014, 10h15
  2. Réponses: 4
    Dernier message: 22/09/2010, 17h21
  3. [FTP] création et Copy fichier et dossier sur serveur distant
    Par jules_diedhiou dans le forum Langage
    Réponses: 11
    Dernier message: 26/03/2009, 17h21
  4. créer un nouveau dossier sur serveur ftp distant
    Par marion5515 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 18/05/2008, 22h39
  5. [FTP] Upload d'un dossier sur serveur FTP
    Par jbidou88 dans le forum Langage
    Réponses: 5
    Dernier message: 27/03/2008, 11h59

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