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 :

FTP liste fichier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 401
    Par défaut FTP liste fichier
    Bonjour,

    J'ai un code qui liste les fichiers présents sur les FTP.
    Celui marche bien sauf sur un FTP gérer par un client.
    mon code ne voit qu'un fichier à la fois !

    Est ce que quelqu'un à déjà eu ce problème ?

    merci

    PS : je ne peux pas faire de boucle après après je tombe sur un problème de proxy qui me renvoie toujours le même résultat

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Et si tu utilises un client FTP comme FileZilla, ça marche correctement ?

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 401
    Par défaut
    Le contexte est difficile, aucune installation est autorisé autre que les applis métier et le serveur n'est accessible que depuis le serveur (filtre IP).

    Donc je ne sais pas, par contre en passant par l’explorateur Windows je vois bien tous les fichiers.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Fais voir ton code, c'est peut-être une erreur toute bête...

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 401
    Par défaut
    (Désolé pour le décalage, début de semaine difficile)


    sachant que les 98% du code je l'ai récup d'un TUTO sur developpez.com ou codeproject.com


    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
      Public Function _Get_ListFiles(ByVal Ajouter_un_Log As Delegate_Ajouter_un_Log, Optional ByVal _p_DossierDistantScanner As TypeUpload = TypeUpload.recup, Optional ByVal p_Local_Directory_FullName As String = "") As List(Of cls_Fichier)
            Dim monResponseStream As Stream = Nothing
            Dim monStreamReader As StreamReader = Nothing
            Dim listeFinale As New List(Of cls_Fichier)
     
            ' Instanciation de deux Uri qui vont contenir les chemins source et destination
     
            Dim DossierDistant = ""
     
            Select Case _p_DossierDistantScanner
                Case Is = TypeUpload.Archive
                    DossierDistant = Me.Distant.Archive.FullName
     
                Case Is = TypeUpload.Depot
                    DossierDistant = Me.Distant.Dépot.FullName
     
                Case Is = TypeUpload.recup
                    DossierDistant = Me.Distant.Récup.FullName
            End Select
     
     
            Dim monUriServeur As New System.Uri(DossierDistant)
            ' Vérification de la validité de l'Uri du fichier sur le serveur FTP
     
            If Not (monUriServeur.Scheme = Uri.UriSchemeFtp) Then
                Ajouter_un_Log("cls_FTP::_GetFiles", "l'adresse FTP n'est pas valide donc la récupération de la liste des fichiers présent sur le serveur n'a pas pu se réaliser.", "", "Avertissement")
                GoTo fin
            End If
     
            Try
                ' Création de la requête de récupération de la liste des fichiers
                Dim maRequeteListe As FtpWebRequest = CType(WebRequest.Create(monUriServeur), FtpWebRequest)
                maRequeteListe.Method = WebRequestMethods.Ftp.ListDirectoryDetails
     
                ' Vérification de la présence des identifiants d'un compte, si aucun alors
                ' la connexion se fait en mode anonyme
                If Not _Utilisateur.Length = 0 Then
                    Dim monCompteFtp As New NetworkCredential(_Utilisateur, _Pwd)
                    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
                ' Découpage de chaque fichier dans la liste concaténée de fichiers
                Dim separateur() As String = {Environment.NewLine} ' -> retour chariot
                ' Découpage et récupération des noms de fichiers
                Dim tableauListe() As String = listeBrute.Split(separateur, StringSplitOptions.RemoveEmptyEntries)
     
                ' Lecture du tableau et tri des noms de fichiers
                Dim i As Integer = 0
     
                While i < tableauListe.Length
                    ' Les répertoires se différencient des fichiers par le fait que  
                    ' la chaîne que l'on récupère commence par un "d".
                    If Not tableauListe(i).StartsWith("d") Then
                        ' On place les noms de fichiers dans une liste
                        Dim nom = tableauListe(i).Substring(tableauListe(i).LastIndexOf(" ") + 1)
                        listeFinale.Add(New cls_Fichier(p_Local_Directory_FullName, nom, DossierDistant, nom))
                    End If
                    i += 1
                End While
     
            Catch ex As Exception
                Ajouter_un_Log("cls_FTP::_GetFiles", "Erreur lors de la récupération de la liste des fichiers présent sur le serveur.", ex.Message, "Erreur")
            Finally
                ' Fermeture des différents flux utilisés
                If monResponseStream IsNot Nothing Then
                    monResponseStream.Close()
                End If
                If monStreamReader IsNot Nothing Then
                    monStreamReader.Close()
                End If
            End Try
     
    fin:
            Return listeFinale
        End Function

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il y a des erreurs dans le log ?

    Tu as essayé de déboguer pas à pas ? C'est sûrement la solution la plus simple pour voir ce qui se passe... Regarde notamment la valeur de la variable listeBrute

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 401
    Par défaut
    Citation Envoyé par ricil78 Voir le message
    Le contexte est difficile, aucune installation est autorisé autre que les applis métier et le FTP n'est accessible que depuis le serveur (filtre IP).
    Aucun log et non je peux pas (voir citation) car je n'ai pas accès au FTP depuis ma machine de dev.
    J'utilise ce code depuis un bout de temps et c'est la première fois que j'ai le problème.

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Bah dans ton code je vois rien d'anormal, mais sans connaitre les particularités du serveur en question c'est difficile de voir d'où vient le problème...

    Il faut quand même savoir que le format de la liste des fichiers en FTP n'est pas standardisé dans les spécifications du protocole, donc il peut y avoir des petites différences de format d'un serveur à l'autre. C'est peut-être à cause de ça...

  9. #9
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 401
    Par défaut
    Vu le contexte métier j'vais faire un système D le temps de trouver la soluce
    Si j'ai une réponse je la posterais.

    merci

Discussions similaires

  1. FTP Problème avec commons net récuperation de la liste fichier
    Par reverse_engineer dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 05/08/2008, 15h58
  2. Serveur FTP Filezilla trie liste fichiers
    Par damjal dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 29/10/2006, 12h40
  3. [FTP] Listing fichiers comme sur un FTP
    Par zxr69 dans le forum Langage
    Réponses: 7
    Dernier message: 21/09/2006, 14h22
  4. [FTP] liste de fichier sur un serveur ftp
    Par nicoaix dans le forum Langage
    Réponses: 9
    Dernier message: 22/12/2005, 12h19
  5. liste fichiers (TListView) avec icones
    Par pjb dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/07/2005, 09h06

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