[VB.NET] Envoyer/Gérer des fichiers via FTP

Résolu/Fermé
hcp7kuz Messages postés 243 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 23 mars 2019 - 4 févr. 2017 à 15:43
hcp7kuz Messages postés 243 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 23 mars 2019 - 4 févr. 2017 à 16:00
Bonjour,

Je cherche à envoyer des fichiers ou bien tout simplement me connecter à un FTP, mais aucunes des fonctions ou de ce que j'ai pu trouver sur internet ne fonctionne. Quelqu'un aurait une idée ?

P-S : Ce n'est pas le FTP qui a un problème, tout marche très bien avec FileZilla.

1 réponse

hcp7kuz Messages postés 243 Date d'inscription mardi 18 août 2015 Statut Membre Dernière intervention 23 mars 2019 23
4 févr. 2017 à 16:00
J'ai finalement trouvé sur ce lien : https://dotnet.developpez.com/faq/asp/vbnet/?page=transfertftp

code :

    Public Shared Function FtpUpload(ByVal adresse_ftp As String, ByVal username As String, ByVal password As String, ByVal pathFile As String) As Boolean
        Dim uri As Uri = New Uri(adresse_ftp)
        Dim credentials As NetworkCredential = New NetworkCredential(username, password)
        Dim fileInfo As FileInfo = New FileInfo(pathFile)
        Dim request As FtpWebRequest = DirectCast(FtpWebRequest.Create(Path.Combine(uri.AbsoluteUri, fileInfo.Name)), FtpWebRequest)
        request.Method = WebRequestMethods.Ftp.UploadFile
        request.Credentials = credentials
        request.UseBinary = True
        request.KeepAlive = False
        request.UsePassive = True
        Dim buffer As Byte() = New Byte(2047) {}
        Try
            Using stream As Stream = request.GetRequestStream()
                Using fs As FileStream = File.OpenRead(fileInfo.FullName)
                    Dim block As Integer
                    While ((block = fs.Read(buffer, 0, buffer.Length)) > 0)
                        stream.Write(buffer, 0, block)
                    End While
                End Using
            End Using
            Return True
        Catch ex As Exception
            MsgBox("Erreur")
            Return False
        End Try
    End Function
0