Datei herunterladen mit einem Backgroundworker funktioniert nicht

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 177 Antworten in diesem Thema. Der letzte Beitrag () ist von BradApfel.

    Jason schrieb:

    Irgendwie blicke ich da nicht ganz durch

    Und was erwartest Du jetzt von uns ? Schau mal auf der Seite von KaskadekingDE.. unten sind Beispiele. Klicke auf C# und übersetze den Code in vb.net mit einem Übersetzer.

    Allerdings würde ich dir nicht raten deine Server-Daten in den Code zu schreiben. Benutze daher lieber php: PHP Upload

    Soll das etwa der Code zum >Hochladen einer Datei< sein??????:

    VB.NET-Quellcode

    1. *entfernt*


    *Code wurde entfernt, weil sinnloses Zeugs in den VB-BBCode gepackt wurde!*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Datei auf einen FTP-Server hochladen

    Hallo,

    Ich habe einen neuen Thread erstellt, weil VB-Paradise abstürtzt, sobald ich die letzten Beiträge von >Datei herunterladen mit einem Backgroundworker funktioniert nicht< abrufe.

    Also...
    Ich möchte gerne eine Datei auf einem FTP-Server hochladen, und habe schon was fertig:

    VB.NET-Quellcode

    1. Dim WithEvents Upload As New Net.WebClient
    2. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    3. Try
    4. Upload.UploadFile(New Uri("http://gsfg-dataserver.bplaced.net/Test/Bild.jpg"), "ZweiteWelt.jpg")
    5. MessageBox.Show("Fertig")
    6. Catch ex As Exception
    7. MessageBox.Show("Fehler beim hochladen der Datei: " & ex.Message, "")
    8. End Try
    9. End Sub
    10. Private Sub Upload_UploadFileCompleted(ByVal sender As Object, ByVal e As System.Net.UploadFileCompletedEventArgs) Handles Upload.UploadFileCompleted
    11. MessageBox.Show("Fertig!")
    12. ProzentLabel.Text = "100 %"
    13. End Sub


    Ich habe 2 Probleme:

    1. Die Datei wird nicht hochgeladen.

    und 2. In diesem Event wird am ende der zeile >Upload.UploadProgressChanged< rot untersrichen:

    VB.NET-Quellcode

    1. Private Sub Upload_UploadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles Upload.UploadProgressChanged
    2. End Sub


    *Topics zusammengeführt*

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ich und @BradApfel haben dir bereits Lösungen gezeigt.

    Entweder du machst es über den FtpWebRequest (Link)
    - oder -
    du lädst es per PHP hoch. Sendest also ein Request zu dieser PHP Datei die auf deinen Server liegt und die lädt es dann für dich hoch. (Link)
    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯
    Am besten garnicht :) Deine FTP-Daten (bes. Passwort) stehen somit im Quellcode und quasi jeder kann diesen einsehen. Sofern dir das Wurst ist kannst du dir das anschauen: FTP Tutorial Uploaden und downloaden

    Ansonsten: PHP Upload

    Edit: Da ich es bisschen komisch formuliert habe: Es ist sehr schlecht wenn eine fremde Person die Zugangsdaten für deinen Server hat ;)

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

    Ich habe es jetzt so gemacht:

    VB.NET-Quellcode

    1. My.Computer.Network.UploadFile("Dateipfad", "ftp://deineFTPseite.com/Dateiname+Endung", "Username", "Passwort")


    Es wird garnichts hochgeladen.

    Und ich würde gerne auch wie Beim Download Events wie UploadCompleted und UploadProgressChaged haben.
    schön, 9 Seiten für FTP Up- bzw. Download, nicht schlecht.
    Wieviel Müll vom rumprobieren schleppst du denn schon in deinem Code mit?
    Kannst du dein Problem so beschreiben das wir keine Glaskugel brauchen um dich zu unterstützen?

    Poste deinen Code der den Upload zeigt und beschreibe dein Problem ordentlich. Was passiert?
    Fehlermeldungen? In welcher Zeile happerts?

    Dein Post lässt eigentlich nur eine Antwort zu: "tja blöd jetzt gehts nicht".
    Frage: verstehst du und weißt du auch was jede Zeile deines Codes tut?
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
    Okay, habe verstanden.

    VB.NET-Quellcode

    1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. Try
    3. Upload.UploadFile(New Uri("http://gsfg-dataserver.bplaced.net/Test/Bild.jpg"), "ZweiteWelt.jpg")
    4. MessageBox.Show("Fertig")
    5. Catch ex As Exception
    6. MessageBox.Show("Fehler beim hochladen der Datei: " & ex.Message, "")
    7. End Try
    8. End Sub
    9. Private Sub Upload_UploadFileCompleted(ByVal sender As Object, ByVal e As System.Net.UploadFileCompletedEventArgs) Handles Upload.UploadFileCompleted
    10. MessageBox.Show("Fertig!")
    11. ProzentLabel.Text = "100 %"
    12. End Sub
    13. Private Sub Upload_UploadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles Upload.UploadProgressChanged
    14. End Sub


    In dem > Upload_UploadFileCompleted< -Sub ist der Fehler.

    Hier ein Bild:
    Bilder
    • Fehler.png

      10,44 kB, 1.451×78, 68 mal angesehen
    Hi, versuche es mit UploadfileAsync
    Das hat sonst nie ein Ende..

    VB.NET-Quellcode

    1. Dim WithEvents upload As New Net.WebClient
    2. Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
    3. Dim Nutzername As String = "Nutzername"
    4. Dim Password As String = "Passwort"
    5. Dim File As String = "Pfad zur Datei"
    6. Dim Server As String = "ftp://blabla.de/" 'Serveraddresse
    7. Dim Dateiname As String = "Testbild.png" 'Dateiname
    8. Try
    9. Me.upload.Credentials = New Net.NetworkCredential(Nutzername, Password)
    10. Me.upload.UploadFileAsync(New Uri(Server & Dateiname), File)
    11. Catch ex As Exception
    12. MessageBox.Show("Fehler!")
    13. End Try
    14. End Sub
    15. Private Sub Upload_UploadFileCompleted(ByVal sender As Object, ByVal e As System.Net.UploadFileCompletedEventArgs) Handles upload.UploadFileCompleted
    16. MessageBox.Show("Fertig!")
    17. End Sub
    18. Private Sub Upload_UploadProgressChanged(ByVal sender As Object, ByVal e As System.Net.UploadProgressChangedEventArgs) Handles upload.UploadProgressChanged
    19. Me.ProgressBar1.Value = e.ProgressPercentage
    20. End Sub

    Dann machst Du eindeutig etwas falsch! Ohne dich angreifen zu wollen, aber hast du je mal was eigenständiges gemacht ? Du schreibst einfach nur es funktioniert nicht und hoffst das wir das gerade biegen. Mittlerweile sind wir an einen Punkt angelangt wo wir dir sogar fertigen Code schreiben - und das einzige was von dir kommt ist eine kurze Antwort dass etwas nicht klappt.

    Check deine Server-Daten etc. Habe es selbst getestet und es funktioniert einwandfrei. Mehr kann ich da auch nicht machen.