Bonjour,
J'aimerais savoir comment télécharger un fichier en FTP. Actuellement, j'utilise ce code, mais il me télécharge un fichier vide (pour l'instant que des .txt)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
                FtpDownload(New Uri(Directory & UFI.Text & "." & Extension.Text), _
                New NetworkCredential(UserName, "motdepasse"), _
                New DirectoryInfo(DossierOuMettreLeFichier))
                'Ce code est en lien avec la fonction ci dessous
La fonction "FtpDownload"

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
    Public Shared Function FtpDownload(ByVal uri As Uri, ByVal credentials As NetworkCredential, ByVal dirInfo As DirectoryInfo) As FileInfo
        Dim fi As FileInfo
        Dim request As FtpWebRequest = DirectCast(WebRequest.Create(uri), FtpWebRequest)
        request.Credentials = credentials
        request.UseBinary = True
        request.Method = WebRequestMethods.Ftp.DownloadFile
        'Utilisé pour envoyer la commande "QUIT" au serveur afin de fermer correctement la connexion
        request.KeepAlive = False
        ' Taille du tableau servant à stocker les morceaux du fichier.
        ' On épargne ainsi les ressources du serveur en ne chargeant pas la totalité du fichier.
        ' Cela permet de transférer rapidement des fichiers volumineux.
        Dim buffer As Byte() = New Byte(2047) {}
        ' Variable de mesure de la taille du morceau de fichier lu. Permet d'indiquer que le fichier a été lu et écrit en totalité.
        ' Recupération de la réponse
        Using res As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
            fi = New FileInfo(String.Concat(dirInfo.FullName, uri.Segments(uri.Segments.Length - 1)))
            Using stream As New BinaryReader(res.GetResponseStream())
                Using fs As FileStream = File.Create(fi.FullName, buffer.Length, FileOptions.WriteThrough)
                    ' Ecriture du flux dans le fichier block par block
                    Dim block As Integer
                    While ((block = stream.Read(buffer, 0, buffer.Length)) > 0)
                        fs.Write(buffer, 0, block)
                    End While
                    fs.Close()
                End Using
            End Using
        End Using
        Return fi
    End Function
Voilà voilà, alors je sais pas trop où est l'erreur vu que c'est pas moi qui ai écrit le texte, mais ce serait sympa si vous pouviez m'aider !
Merci !