Télécharger dossier complet ftp

Rykudos - 30 août 2014 à 21:21
 Rykudos - 31 août 2014 à 11:14
Bonjour,
j'aimerai savoir si il est possible télécharger un dossier complet (fichier + sous dossier ) héberger sur ftp ou alors zip un dossier sur un ftp.
svp

2 réponses

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
30 août 2014 à 22:54
Bonsoir, c'est une question d'ordre générale ou tu veux le programmer en VB.Net?

Pour rappel

Ceci est une réponse type, tous les points listés ci-dessous ne concernent pas forcément la conversation en cours, cependant il s'agit de conseils à appliquer pour maximiser les chances de réponses.

Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide. Toutes les réponses sur le forum sont assurées par des bénévoles qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter également que nous ne faisons pas dans le "tout cuit". Soit tu trouves ton bonheur dans la partie source du site, soit à l'aide de ton moteur de recherche favori. Ici, nous aidons volontiers sur une difficulté technique, précise et parfaitement isolée rencontrée dans le cours du développement.

Penser à poster le morceau de code qui pose problème, voir ici comment utiliser la coloration syntaxique. S'il y a un message d'erreur retranscrivez le dans son intégralité, en précisant à quelle ligne apparait cette erreur.

des conseils d'écriture des messages et ici en particulier pour les devoirs scolaires ou PFE.

Penser que le titre doit refléter le contenu de la demande, "Question", "Problème" ou "Java", ne sont ni accrocheurs, ni utiles. Il semble évident qu'une question posée sur un forum de programmation Java tournera autour d'un problème lié à ce langage.

Faire attention à la catégorie, ou la sous catégorie dans laquelle poster son message, car la réponse dépend souvent du langage exact. Par exemple, la catégorie VB possède 4 sous catégories: VB 6, VBA, VB.Net et VB script.

Et enfin, le plus important


Merci donc de reformuler ta demande en respectant ces quelques points.
0
j'essaie de développer un client ftp en vb.net qui me permet de télécharger, envoyer, supprimer des fichiers et créer des dossier jusque la tous vas bien, je souhaite ajouter une rubrique pour sauvegarder tous le contenu d'un ftp en local et c la que je bloque.
j'arrive dans mon dossier de sauvegarde a créer les dossier et télécharger les fichier contenue dans la racine du ftp, mais je ne voie pas comment faire pour les sous dossier et les fichiers qu'ils contiennent
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
31 août 2014 à 10:04
Ok et quel(s) code(s) as tu essayé?
0


TextBox10.Clear()

If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then

TextBox17.Text = FolderBrowserDialog1.SelectedPath + "\sauvftp"


If Directory.Exists(TextBox17.Text) = True Then

Select Case MsgBox("Dossier existant remplacer ?", MsgBoxStyle.YesNo, "Erreur")
Case MsgBoxResult.Yes
Try

My.Computer.FileSystem.DeleteDirectory(TextBox17.Text, FileIO.UIOption.AllDialogs, FileIO.RecycleOption.DeletePermanently)

Catch ex As Exception

End Try


Case MsgBoxResult.No
Exit Sub
End Select



End If

''''


Try
My.Computer.FileSystem.CreateDirectory(TextBox17.Text)
Catch ex As Exception

End Try

''''

Try


Dim arr() As String
Dim request As FtpWebRequest = WebRequest.Create(TextBox3.Text)
request.Credentials = New NetworkCredential(TextBox4.Text, TextBox5.Text)
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails

Dim response As FtpWebResponse = request.GetResponse()
Dim responseStream As Stream = response.GetResponseStream()
Dim reader As StreamReader = New StreamReader(responseStream)
Dim lol As String


Do
lol = reader.ReadLine
If Len(lol) < 1 Then Exit Do
arr = Split(lol, vbNewLine)
For i = 0 To UBound(arr)
If Len(arr(i)) > 0 Then
'ListBox3.Items.Add(arr(i))
TextBox10.AppendText(arr(i) & vbCrLf)
End If
Next
Loop

reader.Close()
response.Close()
Catch ex As Exception
MsgBox("connection impossible")
End Try

''''

Try
My.Computer.FileSystem.DeleteFile(TextBox17.Text + "/lstftp.txt")
Catch ex As Exception

End Try


Dim sw As StreamWriter
Dim path = TextBox17.Text + "/lstftp.txt"
If File.Exists(Path) = False Then
' Create a file to write to.
sw = File.CreateText(Path)
sw.WriteLine(TextBox10.Text)
sw.Close()
End If

Try

Dim nbr_ligne As Integer = 0
Dim ligne As String
Dim sr As New StreamReader(TextBox17.Text + "/lstftp.txt")
While sr.Peek <> -1
nbr_ligne += 1
ligne = sr.ReadLine()

TextBox19.Text = ligne

Do
If ligne = "" Then Exit Do

If TextBox19.Text Like "*:*" Then
Try
TextBox19.Text = Strings.Right(TextBox19.Text, Len(TextBox19.Text) - 1)
Catch ex As Exception

End Try


End If

If TextBox19.Text Like "*:*" = False Then
Try
TextBox19.Text = Strings.Right(TextBox19.Text, Len(TextBox19.Text) - 3)

If TextBox19.Text Like "*.*" = False Then
TextBox19.AppendText("/")
End If


Catch ex As Exception

End Try
TextBox18.AppendText(TextBox19.Text & vbCrLf)

Exit Do
End If
Loop


' MsgBox("la ligne" & nbr_ligne & ": " & ligne)
End While
' MsgBox("Nombre de ligne=" & nbr_ligne)
sr.Close()

Catch ex As Exception

End Try

''''
Try
My.Computer.FileSystem.DeleteFile(TextBox17.Text + "/lstftp.txt")
Catch ex As Exception

End Try

Dim sw1 As StreamWriter
Dim path1 = TextBox17.Text + "/lstftp.txt"
If File.Exists(path1) = False Then
' Create a file to write to.
sw1 = File.CreateText(path1)
sw1.WriteLine(TextBox18.Text)
sw1.Close()
End If


''''
TextBox10.Clear()
TextBox18.Clear()
TextBox19.Clear()

Dim SR1 As New StreamReader(TextBox17.Text + "/lstftp.txt")
TextBox10.Clear()
TextBox10.Text = SR1.ReadToEnd
SR1.Close()

''''

Dim nbr_ligne1 As Integer = 0
Dim ligne1 As String
Dim sr11 As New StreamReader(TextBox17.Text + "/lstftp.txt")
While sr11.Peek <> -1
nbr_ligne1 += 1
ligne1 = sr11.ReadLine()

TextBox19.Text = ligne1
TextBox20.Text = Len(TextBox19.Text)
Dim a = TextBox20.Text
TextBox21.Text = Strings.Right(TextBox19.Text, Len(TextBox19.Text) - (a - 1))

If TextBox21.Text Like "*/*" = False Then

Dim user = TextBox4.Text
Dim pass = TextBox5.Text
Dim fichlocal9 = TextBox17.Text + "" + TextBox19.Text
Dim fichftp9 = TextBox3.Text + TextBox19.Text

Try
My.Computer.Network.DownloadFile(fichftp9, fichlocal9, user, pass)
Catch ex As Exception
End Try

End If

If TextBox21.Text Like "*/*" Then

Try
My.Computer.FileSystem.CreateDirectory(TextBox17.Text + "" + TextBox19.Text)

Catch ex As Exception

End Try

TextBox18.AppendText(TextBox19.Text & vbCrLf)

End If

'MsgBox("la ligne" & nbr_ligne1 & ": " & ligne1)
End While
'MsgBox("Nombre de ligne=" & nbr_ligne1)
sr11.Close()


'''''''''

TextBox10.Text = TextBox18.Text
TextBox18.Clear()
TextBox19.Clear()
TextBox20.Clear()
TextBox21.Clear()



Try
My.Computer.FileSystem.DeleteFile(TextBox17.Text + "/lstftp.txt")
Catch ex As Exception

End Try


Dim sw2 As StreamWriter
Dim path2 = TextBox17.Text + "/lstftp.txt"
If File.Exists(path2) = False Then
' Create a file to write to.
sw2 = File.CreateText(path2)
sw2.WriteLine(TextBox10.Text)
sw2.Close()
End If

''''


0
Rejoignez-nous