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

VB.NET Discussion :

Lister les dossiers d'un FTP [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut Lister les dossiers d'un FTP
    Bonjour à tous,

    Je souhaite que mon programme se connecte en FTP et liste les dossiers d'un chemin passé en paramètre. Pour ce faire, j'ai utilisé la librairie System.Net.FtpClient, diposinible ici : https://netftp.codeplex.com/.

    Le problème, c'est que le chemin où se trouve le dossier à lister comporte des ".".

    Ce sera plus clair avec du code :

    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
    Using ftp = New FtpClient()
         ftp.Host = "1.1.1.1.1"
         ftp.Credentials = New NetworkCredential("admin", "password")
         ftp.Connect()
         ftp.SetWorkingDirectory("/folder1/folder2")
     
         For Each item In ftp.GetListing(ftp.GetWorkingDirectory())
              Select Case item.Type
                   Case FtpFileSystemObjectType.Directory
                        'Traitement
                   Case FtpFileSystemObjectType.File
                         'Traitement
               End Select
         Next
         ftp.Dispose()
    End Using
    Cet exemple ci-dessus fonctionne mais mon chemin contient des ".",

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ftp.SetWorkingDirectory("/folder1/folder2/folder.3/folder4")
    Dans ce cas, je n'arrive plus à lister les dossiers

    Quelqu'un serait pourquoi ca bloque et sinon une alternative ?

    Merci !

  2. #2
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut
    Est-ce que quelqu'un pourrait me montrer un autre moyen de connexion à un FTP ?

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    il y a aussi le system.net.ftpwebrequest, qui permet dans la propriété method de mettre system.net.ftpwebrequests.ListDirectory
    mais je pense que ca revient au même que le ftpclient (ou l'inverse ^^)

    tu peux tenter à tout hasard
    sinon il faudra passer par du tcp/ip, il y a des classes trouvables sur le net pour du ftp

    la classe ftp du framework n'est pas compatible avec tous les serveurs ftp ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut
    Bonjour Pol63,

    Excuse-moi de ma réponse tardive

    J'essaye avec la bibliothèque System.Net.FtpWebRequest mais je n'arrive pas à lister les fichiers, je n'ai pas accès à la méthode system.net.ftpwebrequests.ListDirectory

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    cette valeur d'enum se met dans la propriété method
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut
    Effectivement Pol63

    J'ai un petit problème que j'aimerais résoudre avant de poster mon code entier;

    Je n'arrive pas à découper la chaine de caractère que me renvoie la requête, voici le code :

    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
    20
    21
    22
    Dim maRequeteListe As FtpWebRequest = CType(WebRequest.Create(monUriServeur), FtpWebRequest)
     
    maRequeteListe.Method = WebRequestMethods.Ftp.ListDirectory
     
    ' Vérification de la présence des identifiants d'un compte, si aucun alors la connexion se fait en mode anonyme
    If Not identifiant.Length = 0 Then
         Dim monCompteFtp As New NetworkCredential(identifiant, motDePasse)
         maRequeteListe.Credentials = monCompteFtp
    End If
     
    ' Récupération de la liste de fichiers
    Dim maResponseListe As FtpWebResponse = CType(maRequeteListe.GetResponse, FtpWebResponse)
     
    ' Placement du flux provenant du serveur dans un streamreader
    monStreamReader = New StreamReader(maResponseListe.GetResponseStream, Encoding.Default)
     
    ' Lecture du stream reader
    Dim listeBrute As String = monStreamReader.ReadToEnd
     
    For Each test In listeBrute.Split(Environment.NewLine)
         MsgBox(test)
    Next

    Je voudrais découper la liste avec listeBrute.Split(Environment.NewLine sauf que ca ne fonctionne pas. Je devrais avoir 2 combobox consécutives mais j'en ai qu'une avec 2 lignes

    Nom : msgbox.png
Affichages : 483
Taille : 8,1 Ko

    Je ne vois pas la cause

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

Discussions similaires

  1. Lister les dossiers d'un FTP
    Par cryosore dans le forum ANT
    Réponses: 2
    Dernier message: 10/03/2010, 11h46
  2. [FTP] Lister les dossiers d'un FTP distant
    Par Vico2110 dans le forum Langage
    Réponses: 10
    Dernier message: 18/07/2008, 11h42
  3. lister les dossiers d'un FTP ?
    Par yanker_man dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 06/07/2007, 14h37
  4. Lister les dossiers et fichiers d'un répertoire
    Par scorpia dans le forum ASP
    Réponses: 2
    Dernier message: 11/04/2006, 18h50
  5. lister les dossiers contenu sur un CD
    Par titicurio dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/02/2006, 11h35

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