Hallöchen Leute
ich bin neu im Forum, hab aber trotzdem schon fleißig gesucht, bevor ich hier meinen Senf dazu gebe.
Also, mein Problem ist eigentlich, dass ich meinen FTP inklusive Ordnerstruktur auslesen und auf dem lokalen PC erstellen lassen möchte.
Dazu hab ich natürlich die FTPLib gefunden, dabei kam das raus:
Das ganze starte ich dann mal und das Resultat ist ein Programm, dass mir "keine Rückmeldung" ausgibt. Ich dachte mir, vielleicht dauert es auch einfach nur lange .. Auch 34min später, nachdem ich meinen Spaß mit meinem Schlagzeug hatte hat sich absolut nichts getan. Vielleicht hab ich auch einfach nen dämlichen Fehler drin. Das hoffe ich mal, denn ich brauche langsam einen funktionierenden Code.
Dazu muss ich allerdings jetzt mal sagen, dass ich dieses Programm kommerziell nutzen werde und das zu 100% und somit werde ich die FTPLib ohnehin nicht nutzen können, aber solange ich nicht-kommerziell programmiere, wäre es garnicht blöd schonmal was funktionierendes zu haben, was ich dann nutze, während ich mir was anderes überlege.
Der andere Code, den ich dann komplett selbst geschrieben habe läuft soweit eigentlich, damit kann ich auch schön meine Progressbar mit einbinden, aber da ist das Problem, dass das Programm auch hier immer wieder für mehrere Sekunden einfach "keine Rückmeldung" ausgibt und manchmal stürzt es komplett hab. Jedoch funktioniert es erstmal.
Der Code liest die Zeilen aus einer Textdatei aus. Jede Zeile ist dabei eine Datei die ich herunterladen möchte. Hier ignoriere ich die Ordnerstruktur und habe auf meinem FTP einfach alle Dateien erstmal im selben Ordner, weil ich möchte, dass das Programm wenigstens das kann. Das nächste Problem wäre es zwar dann, die Dateien in die 31 Ordner zu ordnen, aber das wäre dann was anderes. Hier der Code:
So, das wars eigentlich. Vielleicht hat ja irgendjemand Zeit und Lust mir etwas zu helfen.
Ich bedanke mich schonmal dafür und dafür, dass ihr bis hierhin gelesen habt.
Schönen Sonntag
ich bin neu im Forum, hab aber trotzdem schon fleißig gesucht, bevor ich hier meinen Senf dazu gebe.
Also, mein Problem ist eigentlich, dass ich meinen FTP inklusive Ordnerstruktur auslesen und auf dem lokalen PC erstellen lassen möchte.
Dazu hab ich natürlich die FTPLib gefunden, dabei kam das raus:
VB.NET-Quellcode
- Private Sub Sync()
- Dim ftp As New FTP
- Dim remotePath As String = "/publish"
- Dim help As String
- Dim ftpDirectoryInfo As FTPDirectoryInfo = Nothing
- Dim ftpDirectoryInfos() As FTPDirectoryInfo = Nothing
- Dim ftpFileInfo As FTPFileInfo = Nothing
- Dim ftpFileInfos() As FTPFileInfo = Nothing
- ftp.Connect(host, username, password, 21)
- Try
- ftpDirectoryInfos = ftp.GetDirectoryInfos(remotePath, FTPLib.SearchOption.AllDirectories)
- For i As Integer = 0 To ftpDirectoryInfos.Length Step 1
- help = ftpFileInfos(i)
- Directory.CreateDirectory(Application.StartupPath & help)
- Next i
- Catch ex As Exception
- MsgBox(ex)
- End Try
- ftp.Disconnect()
- End Sub
Das ganze starte ich dann mal und das Resultat ist ein Programm, dass mir "keine Rückmeldung" ausgibt. Ich dachte mir, vielleicht dauert es auch einfach nur lange .. Auch 34min später, nachdem ich meinen Spaß mit meinem Schlagzeug hatte hat sich absolut nichts getan. Vielleicht hab ich auch einfach nen dämlichen Fehler drin. Das hoffe ich mal, denn ich brauche langsam einen funktionierenden Code.
Dazu muss ich allerdings jetzt mal sagen, dass ich dieses Programm kommerziell nutzen werde und das zu 100% und somit werde ich die FTPLib ohnehin nicht nutzen können, aber solange ich nicht-kommerziell programmiere, wäre es garnicht blöd schonmal was funktionierendes zu haben, was ich dann nutze, während ich mir was anderes überlege.
Der andere Code, den ich dann komplett selbst geschrieben habe läuft soweit eigentlich, damit kann ich auch schön meine Progressbar mit einbinden, aber da ist das Problem, dass das Programm auch hier immer wieder für mehrere Sekunden einfach "keine Rückmeldung" ausgibt und manchmal stürzt es komplett hab. Jedoch funktioniert es erstmal.
Der Code liest die Zeilen aus einer Textdatei aus. Jede Zeile ist dabei eine Datei die ich herunterladen möchte. Hier ignoriere ich die Ordnerstruktur und habe auf meinem FTP einfach alle Dateien erstmal im selben Ordner, weil ich möchte, dass das Programm wenigstens das kann. Das nächste Problem wäre es zwar dann, die Dateien in die 31 Ordner zu ordnen, aber das wäre dann was anderes. Hier der Code:
VB.NET-Quellcode
- Dim localfile As String = Application.StartupPath & "\Datalist.txt"
- Const remoteFile As String = "/publish/Datalist.txt"
- Const host As String = "blablabla"
- Const username As String = "blablabla"
- Const password As String = "blablabla"
- Dim URI As String = host & remoteFile
- Dim ftp As System.Net.FtpWebRequest = CType(FtpWebRequest.Create(Uri), FtpWebRequest)
- ftp.Credentials = New System.Net.NetworkCredential(username, password)
- ftp.KeepAlive = False
- ftp.UseBinary = True
- ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile
- Using response As System.Net.FtpWebResponse = CType(ftp.GetResponse, System.Net.FtpWebResponse)
- Using responseStream As IO.Stream = response.GetResponseStream
- Using fs As New IO.FileStream(localfile, IO.FileMode.Create)
- Dim buffer(2047) As Byte
- Dim read As Integer = 0
- Do
- read = responseStream.Read(buffer, 0, buffer.Length)
- fs.Write(buffer, 0, read)
- Loop Until read = 0
- responseStream.Close()
- fs.Flush()
- fs.Close()
- End Using
- responseStream.Close()
- End Using
- response.Close()
- End Using
- End If
So, das wars eigentlich. Vielleicht hat ja irgendjemand Zeit und Lust mir etwas zu helfen.
Ich bedanke mich schonmal dafür und dafür, dass ihr bis hierhin gelesen habt.
Schönen Sonntag