FTP Löschen

  • VB.NET

Es gibt 33 Antworten in diesem Thema. Der letzte Beitrag () ist von Bernd.

    FTP Löschen

    Huhu,

    ich habe ein FTP Programm erstellt, also so eine das ich Texte hochladen kann,
    jetzt möchte ich aber das ich diese auch entfernen kann. Ich hab gegoogelt
    und geyoutubet etc. und nichts gefunden.

    Hat jemand was für mich?

    Liebe grüße.

    MSDN schrieb:

    VB.NET-Quellcode

    1. Public Shared Function DeleteFileOnServer(ByVal serverUri As Uri) As Boolean
    2. ' The serverUri parameter should use the ftp:// scheme.
    3. ' It contains the name of the server file that is to be deleted.
    4. ' Example: ftp://contoso.com/someFile.txt.
    5. '
    6. If serverUri.Scheme <> Uri.UriSchemeFtp Then
    7. Return False
    8. End If
    9. ' Get the object used to communicate with the server.
    10. Dim request As FtpWebRequest = CType(WebRequest.Create(serverUri), FtpWebRequest)
    11. request.Method = WebRequestMethods.Ftp.DeleteFile
    12. Dim response As FtpWebResponse = CType(request.GetResponse(), FtpWebResponse)
    13. Console.WriteLine("Delete status: {0}", response.StatusDescription)
    14. response.Close()
    15. Return True
    16. End Function

    VB.NET-Quellcode

    1. Try
    2. Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create("Link zur datei")
    3. request.Method = Net.WebRequestMethods.Ftp.DeleteFile
    4. request.Credentials = New Net.NetworkCredential("Benutzername", "Passwort")
    5. Dim response As Net.FtpWebResponse = request.GetResponse()
    6. Catch ex As Exception
    7. MsgBox(ex.Message)
    8. End Try


    Muss ich bei Zeile 1 auch den Server mitangeben? also vb.123.de/datei.html
    ja oder?
    Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Fehler beim Navigieren zu einem relativen URI..
    Ömm bernd, das problem ist, ich weis ja nicht mal wo der fehler liegt? Ich krieg einfach ne seite geöffnet in der
    steht: "Es ist keine Quelle verfügbar"
    Bilder
    • prbl.PNG

      38,98 kB, 830×543, 151 mal angesehen
    System.invalidoperationexception {"Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Fehler beim Navigieren zu einem relativen URI.."}
    und nichts weiteres. nur das ://
    Hast du das im FormLoad() drin ?
    Hast du deine Adresse als Uri deklariert ?

    Hast du Angst deinen Code zu Zeigen ?


    Mensch ich habe doch keine Ahnung was du da machst.
    Nur die Fehlermeldungen bringen uns nicht so viel.

    Helf uns bitte


    danke

    VB.NET-Quellcode

    1. Public Class optionen
    2. Dim upload As New Net.WebClient
    3. Private Sub hochladen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. TextBox2.Text = Form1.TextBox1.Text
    5. End Sub
    6. Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
    7. einstellungen.Show()
    8. Me.Close()
    9. End Sub
    10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    11. Try
    12. upload.Credentials = New Net.NetworkCredential(einstellungen.TextBox2.Text, einstellungen.TextBox3.Text)
    13. upload.UploadString("ftp://" + einstellungen.TextBox1.Text & TextBox1.Text & ComboBox1.Text, TextBox2.Text)
    14. MsgBox(" + TextBox1.Text And ComboBox1.Text + " wurde erfolgreich hochgeladen.", MsgBoxStyle.Information)
    15. Catch ex As Exception
    16. MsgBox(ex.Message)
    17. End Try
    18. End Sub
    19. Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
    20. einstellungen.Show()
    21. Me.Close()
    22. End Sub
    23. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    24. Button2.Enabled = False
    25. Button3.Enabled = True
    26. End Sub
    27. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    28. Button2.Enabled = False
    29. Try
    30. Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create(einstellungen.TextBox1.Text + TextBox3.Text)
    31. request.Method = Net.WebRequestMethods.Ftp.DeleteFile
    32. request.Credentials = New Net.NetworkCredential(einstellungen.TextBox2.Text, einstellungen.TextBox3.Text)
    33. Dim response As Net.FtpWebResponse = request.GetResponse()
    34. Button3.Enabled = False
    35. Button2.Enabled = True
    36. Catch ex As Exception
    37. MsgBox(ex.Message)
    38. Button3.Enabled = False
    39. Button2.Enabled = True
    40. End Try
    41. End Sub
    42. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    43. Button3.Enabled = False
    44. Button5.Enabled = True
    45. End Sub
    46. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    47. Dim Request As Net.FtpWebRequest = Net.WebRequest.Create(einstellungen.TextBox1.Text + TextBox4.Text + ComboBox3.Text)
    48. Dim Response As Net.FtpWebResponse
    49. Request.Credentials = New Net.NetworkCredential(einstellungen.TextBox2.Text, einstellungen.TextBox3.Text)
    50. Request.Method = Net.WebRequestMethods.Ftp.Rename
    51. Request.Timeout = (60000)
    52. Request.RenameTo = TextBox5.Text + ComboBox4.Text
    53. Response = Request.GetResponse()
    54. Response.Close()
    55. Button5.Enabled = False
    56. End Sub
    57. End Class


    Formload.. ka?
    Was ist Uri??
    Mein Code ;)
    Teste doch mal die Funktion von @FlashTek. Dort steht doch alles Drin.
    Oder schreib mal das

    VB.NET-Quellcode

    1. Dim request As Net.FtpWebRequest = DirectCast(Net.WebRequest.Create(New Uri(String.Concat("ftp://???/", "WeiterePfadAngaben", "/", "FileName.Extension"))), Net.FtpWebRequest)
    2. request.Method = Net.WebRequestMethods.Ftp.DeleteFile
    3. request.Credentials = New Net.NetworkCredential("User", "Pass")
    4. Try
    5. Dim response As Net.WebResponse = request.GetResponse()
    6. Catch ex As Exception
    7. MessageBox.Show(ex.ToString())
    8. End Try


    Dann rate ich dir mal

    VB.NET-Quellcode

    1. Option Strict On
    in die erste Zeile zu schreiben.
    alle Fehler zu beseitigen. Dann solltest du fast am Ziel sein.

    Edit:
    Wenn es dann immer noch nicht geht. Lass den Tray Catch weg. Dann hast du eine konkrete Fehlermeldung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Bernd“ ()

    Was schreibst du denn unter "Link zur Datei" rein?


    Was nicht rein sollte:
    • dein-server.de/datei.txt
    • http://dein-server.de/datei.txt
    Was rein sollte:
    • ftp://dein-server.de/datei.txt
    Ich habs gelöst. Das Problem lag an 2 Webbrowser.
    Jedoch hab ich ein neues problemchen,

    bei mir wird der pfad so angegeben:

    VB.NET-Quellcode

    1. Try
    2. Button4.Enabled = False
    3. Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create("ftp://" + einstellungen.TextBox1.Text + TextBox3.Text + ComboBox2.Text)
    4. request.Method = Net.WebRequestMethods.Ftp.DeleteFile
    5. request.Credentials = New Net.NetworkCredential(einstellungen.TextBox2.Text, einstellungen.TextBox3.Text)
    6. Dim response As Net.FtpWebResponse = request.GetResponse()
    7. Catch ex As Exception
    8. MsgBox(ex.Message)
    9. Button2.Enabled = True
    10. End Try


    Da kommt dann immer: Ungültiger URI: Der Hostname konnte nicht analysiert werden.
    Und wenn ich das ohne das "ftp://"+ mache kommt Zugriff auf "C:\XX" wurde verweigert???!

    Sultan schrieb:

    "ftp://" + einstellungen.TextBox1.Text + TextBox3.Text + ComboBox2.Text

    So verkettet man keine Strings. Entweder mit dem & Zeichen oder mit String.Concat.

    Auch wenn du sie dann verkettet hast, ist es eine String und keine URI.
    Entweder direkt bei der Deklaration

    VB.NET-Quellcode

    1. Dim MeinURI As Uri = New Uri("Uri as String")

    oder mit einer Funktion von ~blaze~

    VB.NET-Quellcode

    1. Public Function FileNameToUri(ByVal fileName As String) As Uri
    2. Dim result As Uri = Nothing
    3. If System.Uri.TryCreate(System.Uri.UriSchemeFile & "://" & fileName.Replace(IO.Path.DirectorySeparatorChar, "/"c), UriKind.Absolute, result) Then
    4. Return result
    5. Else
    6. Throw New ArgumentException("Invalid filename.")
    7. End If
    8. End Function


    Und dann solltest du endlich Option Strict On in deiner ersten Zeile schreiben.