Ordner und Unterordner hochladen

  • VB.NET

Es gibt 20 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Ordner und Unterordner hochladen

    Guten Tag ich schildere gleich mal mein problem ich möchte auf einen FTP Server den Ordner My Games mit kompletten inhalt hoch und wieder runter laden können.

    Was ich schon probiert habe ist die FTPLib von singu ausprobiert dort bleibt es immer hängen sprich es läd imemr nur 1 datei mit 0 kb hoch

    und dies ist mein Versuch



    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim userDir As String = Environment.GetEnvironmentVariable("USERPROFILE") 'Pfad von User auslesen
    3. Dim DocDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 'Pfad von Documenten auslesen
    4. Dim deskDir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
    5. Dim mygame = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\my games"
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. ordnerlesen()
    8. End Sub
    9. Private Sub ordnerlesen()
    10. 'alle ordner auslesen
    11. Dim di As New System.IO.DirectoryInfo(DocDir & "\my games")
    12. For Each fi As System.IO.DirectoryInfo In di.GetDirectories("*", System.IO.SearchOption.AllDirectories)
    13. CheckedListBox1.Items.Add(fi.Name)
    14. Next
    15. End Sub
    16. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    17. ' Dim eintrag As String = ""
    18. ' For Each li As String In CheckedListBox1.CheckedItems
    19. 'eintrag += li
    20. 'Next
    21. 'MsgBox(eintrag)
    22. For i As Integer = 0 To CheckedListBox1.Items.Count - 1
    23. Dim pfad As String = mygame & "/" & IO.Path.GetDirectoryName(CheckedListBox1.Items(i)) & "/"
    24. For Each filename As String In IO.Directory.GetDirectories(pfad)
    25. My.Computer.Network.UploadFile(filename, "" & "/Backup/" & IO.Path.GetFileName(filename), "", ")
    26. Next
    27. Next
    28. MsgBox("fertig")
    29. End Sub
    30. End Class



    ich verzweifel langsam :D

    mfg
    Hendrik

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „hendrikator“ ()

    Du solltest schleunigst den QuellCode da rausnehmen und Dein Passwort für den FTP-Server ändern.

    Schau Dir bei der Gelegenheit auch gleich hier: Sicherheit: Gefahrenquelle Quellcode
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    hendrikator schrieb:

    :D

    So lustig ist das nicht. Wenn jemand jetzt die Zwischenzeit genutzt hat, dann kann der da irgendwelche illegalen Inhalte hochladen und zu 99,9% haftest Du dann!
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Das heißt: Credentials ändern und alle Verzeichnisse auf ungewöhnliches Zeugs prüfen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Rekursiv alle Dateien auflisten und dann hochladen. Dabei muss dann halt für Unterordner auch ein Unterordner auf dem FTP erstellt werden. Am Besten geht das mit nem TCPClient, würde ich sagen.

    Musste halt das im Code irgendwie so verwalten, dass Du die Pfade ausliest und feststellst, ob jener Unterordner hat.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Rekursiv alle Dateien auflisten und dann hochladen. Dabei muss dann halt für Unterordner auch ein Unterordner auf dem FTP erstellt werden. Am Besten geht das mit nem TCPClient, würde ich sagen.

    Musste halt das im Code irgendwie so verwalten, dass Du die Pfade ausliest und feststellst, ob jener Unterordner hat.


    und das sol wie gehen?
    Wie, das soll wie gehen? Na, so eben. Musst Du Dir halt selbst bisschen zusammengooglen und dann anwenden. Gibt auch bei Google genug Lösungen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ähm, was geht denn da nicht? Gibt es Fehler oder stürzt Dein PC dabei ab?
    Suchst Du nach dem richtigen Zeugs?

    Hier mal ein paar Tipps fürs Suchen:

    VB.NET/C# Upload directory to FTP-server
    System.IO-Namespace
    VB.NET/C# Create FTP-server directory with TcpClient
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    Ähm, was geht denn da nicht? Gibt es Fehler oder stürzt Dein PC dabei ab?
    Suchst Du nach dem richtigen Zeugs?

    Hier mal ein paar Tipps fürs Suchen:

    VB.NET/C# Upload directory to FTP-server
    System.IO-Namespace
    VB.NET/C# Create FTP-server directory with TcpClient



    Ich krigs net hin hab jetzt ma ne andere lib gefunden aber da sagt es das ich keine berechtigung habe

    VB.NET-Quellcode

    1. Imports Limilabs.FTP.Client
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Using ftp As New Ftp
    5. ftp.Connect("") ' or ConnectSSL for SSL
    6. ftp.Login("", "")
    7. ftp.ChangeFolder("Backup")
    8. ftp.Upload("Backup", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\my games")
    9. ftp.Close()
    10. End Using
    11. End Sub
    12. End Class
    Schau dir mal diese CopyTo Extension von Artentus an. CopyTo-Erweiterung für DirectoryInfo
    Im Prinzip musst du an der Stelle, an der kopiert wird nur hochladen bzw. einen Ordner erstellen.

    Und wenn du was nicht verstehst: Makieren -> F1 drücken (in VS)

    8-) faxe1008 8-)
    Viel einfacher wirst du es wohl nicht serviert bekommen..., du musst lediglich ein paar Zeilen austauschen.
    Das ist jetzt keine Aussage mit der ich, oder die Community sonderlich viel anfangen können. Wenn man ein Problem hat postet man seinen (fehlerhaften) Code (nach Möglichkeit nur Relevantes) und gibt die Fehlermeldung an, in Form eines Screenshots, oder von Text innen Expander, wenn er ein wenig länger ist.

    8-) faxe1008 8-)

    faxe1008 schrieb:

    Viel einfacher wirst du es wohl nicht serviert bekommen..., du musst lediglich ein paar Zeilen austauschen.
    Das ist jetzt keine Aussage mit der ich, oder die Community sonderlich viel anfangen können. Wenn man ein Problem hat postet man seinen (fehlerhaften) Code (nach Möglichkeit nur Relevantes) und gibt die Fehlermeldung an, in Form eines Screenshots, oder von Text innen Expander, wenn er ein wenig länger ist.


    VB.NET-Quellcode

    1. Imports FTPLib
    2. Public Class Form1
    3. Private WithEvents locFTP As FTP = Nothing
    4. Public Sub New()
    5. ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
    6. InitializeComponent()
    7. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    8. Me.locFTP = New FTP()
    9. End Sub
    10. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    11. ' Verbindung zum FTP-Server herstellen
    12. locFTP.Connect("Host=server;Username=username;Password=password;Port=21;")
    13. If (locFTP.IsConnected = True) Then
    14. MessageBox.Show("Verbindung wurde hergestellt")
    15. End If
    16. End Sub
    17. Private Sub btnHochladen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHochladen.Click
    18. ' Datei hochladen
    19. locFTP.UploadAsync("C:\test", "/backup")
    20. End Sub



    lib ist FTPLib 2.1.1.0

    und es gibt keinen fehler es fängt an 1 datei aus dem ordner hochzuladen die dan 0 kb hat und das wars