Leeren Ordner auf ftp hochladen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von KnifeHunter.

    Leeren Ordner auf ftp hochladen

    Hey,

    nehmen wir an in meiner Form ist eine Textbox und ein Button. Ich gebe in die Textbox z.b Hallo ein. Wenn ich jetzt auf den Button klick wird ein neuer Ordner auf meinem ftp server erstellt. Der heißt so wie das was in der Textbox steht.

    Könnt ihr mir da helfen wie das funktioniert?
    Hallo ich habe es vollgänder Weise gelöst:

    Dim oRequest As WebRequest = WebRequest.Create("ftp://user123456789@www3.subdomain.com/" & TextBox1.Text)
    With oRequest
    .Method = WebRequestMethods.Ftp.MakeDirectory
    .Credentials = New NetworkCredential("FTP-Name", "Passwort")
    .Proxy = System.Net.WebRequest.DefaultWebProxy
    End With
    Dim oResponse As WebResponse = oRequest.GetResponse() ;)

    Achso ganz oben "Imports System.Net" nicht vergessen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gelöschter Benutzer“ ()

    Habe selbes problem, code ausprobiert, funktioniert nicht -.-

    es wird kein verzeichnis auf dem FTP-Server erstellt...

    bräuchte bitte hilfe, da sämmtliche codes und lösungsansätze, die ich gefunden habe nicht funktionieren...
    und links posten könnt ihr gleich vergessen, da ich jetzt mehere stunden gegooglet habe und einfach mit den nerven am ende bin.

    wäre schön, wenn ihr mir einen code geben könntet, der auch funktioniert...



    LG
    KnifeHunter
    Nicht einfach C&P !
    der Rote Teil muss von dir auch gewechselt werden!

    VB.NET-Quellcode

    1. imports System.Net
    2. Dim oRequest As WebRequest = WebRequest.Create("[color=#ff0000]ftp://user123456789@www3.subdomain.com/[/color]" & TextBox1.Text)
    3. With oRequest
    4. .Method = WebRequestMethods.Ftp.MakeDirectory
    5. .Credentials = New NetworkCredential("[color=#ff0000]FTP-USERNAME[/color]", "[color=#ff0000]PASSWORT[/color]")
    6. .Proxy = System.Net.WebRequest.DefaultWebProxy
    7. End With
    8. Dim oResponse As WebResponse = oRequest.GetResponse()
    ach, was du nicht sagst ;)

    also, um das problem genauer zu beschreiben:

    ich will eine datei hochladen:

    VB.NET-Quellcode

    1. uploader.UploadFile(New Uri(ServerAddress & Server_target), Up_File)


    wenn der pfad auf dem FTP-Server nicht vorhanden ist,
    dieser fehler: "Der Remoteserver hat einen Fehler zurückgegeben: (553) Dateiname nicht zulässig."

    also habe ich demnach einen Try-Catch-Block eingefügt -> wenn dieser fehler auftritt, soll der komplette pfad erstellt werden:

    VB.NET-Quellcode

    1. Dim oRequest As WebRequest = WebRequest.Create(ServerAddress & "/Test")
    2. With oRequest
    3. .Method = WebRequestMethods.Ftp.MakeDirectory
    4. .Credentials = New NetworkCredential("*****", "*****")
    5. .Proxy = System.Net.WebRequest.DefaultWebProxy
    6. End With
    7. Dim oResponse As WebResponse = oRequest.GetResponse()


    bekomme aber diesen fehler: "Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar (z.B. nicht gefunden oder kein Zugriff)."


    da hilft es mir auch nicht weiter, wenn du mir deinen code nochmal postest ;)


    KnifeHunter
    Also ich habe den Code nochmal von mir getestet!

    Und diesmal mit einem andren Anbieter weil ich vor kurzem getauscht hatte, aber es geht bei mir! :?:

    also die ServerAdress ist der FTP-Pfad? Vielleicht Pfad ganz ausschreiben!



    Sry habe gerade nicht sehr viel Zeit lerne gerade für ne harte Kurzkontrolle!
    "ftp://ni6356_2.vweb14.nitrado.net/Test"

    pfad ist korrekt

    mein kollege, der den FTP-Server betreut, sagte mir gerade, dass der ordner erstellt wurde...
    dennoch geiert das programm ab...

    verstehe nicht so ganz warum... also datei soll hochgeladen werden, wenn es nicht geht, weil das zielverzeichnis nicht existiert, soll es erstellt werden.
    hier mein code:

    VB.NET-Quellcode

    1. Try
    2. uploader.UploadFile(New Uri(ServerAddress & Server_target), Up_File) ' Kopiert die Datei von dem FTP Server in das angegeben Verzeichnis
    3. Catch ex As Exception
    4. If ex.Message = "Der Remoteserver hat einen Fehler zurückgegeben: (553) Dateiname nicht zulässig." Then
    5. Dim oRequest As WebRequest = WebRequest.Create(ServerAddress & "/Test")
    6. With oRequest
    7. .Method = WebRequestMethods.Ftp.MakeDirectory
    8. .Credentials = New NetworkCredential("*****", "*****")
    9. .Proxy = System.Net.WebRequest.DefaultWebProxy
    10. End With
    11. Dim oResponse As WebResponse = oRequest.GetResponse()
    12. uploader.UploadFile(New Uri(ServerAddress & Server_target), Up_File)
    13. End If
    14. End Try



    vielleicht sehr ihr ja, wo es da hakt...

    LG
    KnifeHunter
    Prbier mal so:

    VB.NET-Quellcode

    1. Try
    2. uploader.UploadFile(New Uri(ServerAddress & Server_target), Up_File) ' Kopiert die Datei von dem FTP Server in das angegeben Verzeichnis
    3. Catch ex As Exception
    4. If ex.Message = "Der Remoteserver hat einen Fehler zurückgegeben: (553) Dateiname nicht zulässig." Then
    5. Dim oRequest As WebRequest = WebRequest.Create(ServerAddress & "/Test")
    6. With oRequest
    7. .Method = WebRequestMethods.Ftp.MakeDirectory
    8. .Credentials = New NetworkCredential("*****", "*****")
    9. .Proxy = System.Net.WebRequest.DefaultWebProxy
    10. End With
    11. Dim oResponse As WebResponse = oRequest.GetResponse()
    12. End If
    13. uploader.UploadFile(New Uri(ServerAddress & Server_target), Up_File)
    14. End Try
    öhm... habe zwar keine ahnung, warum aber jetzt funktioniert es auf einmal ohne abschmieren... habe nichts geändert...
    ist ja auch recht egal, solange das jetzt geht =)

    vielen dank für eure schnelle und bemühte hilfe! =)


    LG
    KnifeHunter