Nabend,
Bin ein Downloader am entwickeln, der auch soweit schon funktioniert, wollte jetzt gerne noch einbauen das im label die geschwindigkeit des downloads angezeigt wird, ich meine nicht speedtest.
folgenden code habe ich mir im internet rausgersucht womit ich mein programm zum laufen gebracht habe.
*Topic verschoben, Code-BBCode angepasst*
Bin ein Downloader am entwickeln, der auch soweit schon funktioniert, wollte jetzt gerne noch einbauen das im label die geschwindigkeit des downloads angezeigt wird, ich meine nicht speedtest.
folgenden code habe ich mir im internet rausgersucht womit ich mein programm zum laufen gebracht habe.
VB.NET-Quellcode
- Private Sub DownloadItem(ByVal sURL As String,
- ByVal strFile As String, ByVal strFolder As String)
- Dim webreq As HttpWebRequest
- Dim webresp As HttpWebResponse
- Dim bReader As BinaryReader
- Dim bWriter As BinaryWriter
- Dim stream As FileStream
- Dim buffer() As Byte = New Byte(1024) {}
- Dim bytesRead As Integer
- ' Fortschritt zunächst auf 0% setzen
- Me.ProgressBar1.Value = 0
- Try
- ' Datei-Download via HTTP "anfordern"
- webreq = HttpWebRequest.Create(sURL)
- webresp = webreq.GetResponse
- ' Download-Größe
- Me.ProgressBar1.Maximum = webresp.ContentLength
- ' lokale Datei öffnen
- stream = New FileStream(strFolder & "\" & strFile, FileMode.Create)
- bReader = New BinaryReader(webresp.GetResponseStream)
- bWriter = New BinaryWriter(stream)
- ' Datei blockweise downloaden und lokal speichern
- Do
- bytesRead = bReader.Read(buffer, 0, 1024)
- bWriter.Write(buffer, 0, bytesRead)
- ProgressBar1.Value += bytesRead
- ProgressBar1.Update()
- Loop Until bytesRead = 0
- ' alle Dateien schließen
- bWriter.Close()
- bReader.Close()
- stream.Close()
- Catch ex As Exception
- ' Bei Fehler...
- MessageBox.Show("Fehler: " & vbCrLf & ex.Message,
- "Fehler", MessageBoxButtons.OK,
- MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
- End Try
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim dlg As New FolderBrowserDialog
- Dim strFile As String
- Dim strFolder As String
- ' falls keine URL angegeben, Vorgang abbrechen
- If Me.TextBox1.Text.Length = 0 Then Exit Sub
- Dim strPathParts() As String = Me.TextBox1.Text.Split("/")
- strFile = strPathParts(strPathParts.GetUpperBound(0))
- ' Ordner-Auswahldialog anzeigen
- If dlg.ShowDialog Then
- strFolder = dlg.SelectedPath
- Else
- Exit Sub
- End If
- ' Download starten
- Button1.Enabled = False
- Call DownloadItem(TextBox1.Text, strFile, strFolder)
- MsgBox("Download beendet")
- Button1.Enabled = True
- End Sub
*Topic verschoben, Code-BBCode angepasst*
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()