Upload-Client mit ProgressBar

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Korbi.

    Upload-Client mit ProgressBar

    Hallo zusammen,

    ich bin zurzeit dabei einen Upload Clienten zu programmieren.

    Der Upload funktioniert einwandfrei aber das Problem ist man weis nie wie lang der upload noch dauert bzw ob er sich aufgehängt hat.

    Daher hab ich mich daran gemacht, eine Statusanzeige in Form einer Progressbar einzufügen.

    Also mein Upload-Client schaut bisher so aus.

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Dim taste As Integer
    4. Dim dateipfad As String
    5. Dim dateiname As String
    6. Dim dateigröße As IntegerPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    7. taste = OpenFileDialog1.ShowDialog
    8. dateiname = OpenFileDialog1.SafeFileName
    9. dateipfad = OpenFileDialog1.FileName
    10. If (taste = 1) Thendateigröße = My.Computer.FileSystem.GetFileInfo(dateipfad).Length
    11. TextBox1.Text = dateigrößeDim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create(ftp://ftp.URL & dateiname), System.Net.FtpWebRequest)
    12. request.Credentials = New System.Net.NetworkCredential("Benutzername", "Passwort")request.Method = System.Net.WebRequestMethods.Ftp.UploadFile
    13. Dim file() As Byte = System.IO.File.ReadAllBytes(dateipfad)Dim strz As System.IO.Stream = request.GetRequestStream()
    14. strz.Write(file, 0, file.Length)
    15. strz.Close()
    16. strz.Dispose()
    17. End If
    18. End SubEnd Class

    So nun weis ich überhaupt nich wie ich es angehen soll. Alle möglichkeiten die mir einfallen erfordern die bereits hochgeladene dateimenge. Vielleicht hat jemand eine Antwort.
    Danke im Vorraus.
    Gruß
    Korbi
    nunja ich hab mich jetzt an dieses thema gewagt dzaebel.net/FtpUpload.htm

    hab das projekt gedownloaded, in vb2010 konvertiert, den quelltext von form eins herauskopiert und auf der seite

    developerfusion.com/tools/convert/vb-to-csharp/ csharp to vb konvertiert

    das projekt müsste nun auch funktionieren aller dings wollte ich das es ja als ftp upload client nicht nur um eine datei auf der lokalen maschine

    hin und her zu kopieren

    VB.NET-Quellcode

    1. /// <summary> FTP-Upload einer Datei vom lokalen Client zum Server </summary>
    2. /// <param name="target">Ziel-URI. Zum Beispiel: new Uri("ftp://www.name.net/httpdocs/" + fileName)</param>
    3. /// <param name="fileName">Der komplette Pfad der Datei auf der lokalen Maschine</param>
    4. /// <param name="username">Benutzername für die FTP-Verbindung</param>
    5. /// <param name="password">Passwort für die FTP-Verbindung</param>
    6. /// <param name="lblStatus">Eine Instanz eines Label's in den bei einem Upload-Fortschritt
    7. /// als Beispiel ein "2048 / 20454" in die Text-Eigenschaft schreibt</param>
    8. /// Die Instanz darf auch null sein, wobei dann diese Funktionalität deaktiviert ist.</param>
    9. /// <param name="progress">Eine ProgressBar-Instanz, die beim Upload den Fortschritt anzeigt.
    10. /// Die Instanz darf auch null sein, wobei dann diese Funktionalität deaktiviert ist.</param>


    kann es sein das ich das hier dann einstellen muss bzw. was muss ich hier verändern

    Nochmals Danke im Vorraus

    mfg Korbi
    Du muß nicht jetzt deine komplette konvertierte Code in deinem Projekt übernemen, sondern nur Funktion/Prozedur die Upload Status in Progressbar anzeigt. Diese Funktion/Prozedur muß du an deine Code aus dem ersten post anpassen, der rest den konvertierte code kannst raus schmeisen.

    VB.NET-Quellcode

    1. <param name="progress">Eine ProgressBar-Instanz, die beim Upload den Fortschritt anzeigt.

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

    Zuerst brauchts du einen ftp-server oder eine fixe upload adresse. dann verwendest du diesen code:

    VB.NET-Quellcode

    1. Dim client As New Net.WebClient
    2. client.Credentials = New Net.NetworkCredential("User", "PW")
    3. client.UploadString("adresse", Was soll hochgeladen werden)



    Aber "client.Credentials = New Net.NetworkCredential("User", "PW")" Kannste weglassen,wenn du eine upload-link hast.
    und du kannst aber nur text hochladen, probiers mal mit " client.UploadData("adresse", Was soll hochgeladen werden)"

    SystemUnknow schrieb:

    Du muß nicht jetzt deine komplette konvertierte Code in deinem Projekt übernemen, sondern nur Funktion/Prozedur die Upload Status in Progressbar anzeigt. Diese Funktion/Prozedur muß du an deine Code aus dem ersten post anpassen, der rest den konvertierte code kannst raus schmeisen.

    Ok aber woher weis ich was alles dazu gehört?
    ich habs jetzt mehr mals versucht, aber immernochnicht geschafft.
    Da gibts ja immer wieder Funktionen auf die sich das bezieht, somit braucht man fast das Ganze Projekt ^^
    Danke im Vorraus
    Korbi