Datei aus Link Downloaden

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Benni1000.

    Datei aus Link Downloaden

    Jo hallo ich habe eine URL zu einem Download und wollte fragen wie man die Runterladen und z.b auf dem Desktop Speichern kann ei n Verweis auf die richtige Funktion würd mir schon reichen ^^
    Danke schonmal.
    Danke das mitm Runterladen hat nach ein bisschen rumprobieren geklappt aber ich krieg die ProgressBar nicht hin es ist zwar kein fehler da aber sie wird nicht angesprochen kann mir einer sagen wo der fehler liegt Danke schomal :)
    Hab die Vermut ung das es an :

    Quellcode

    1. Private WithEvents HttpClient As WebClient
    Liegt aber ich kann WebClient nicht durch Webclient1 ersetzten weil er dann sagt: Der Typ WebClient1 ist nicht definiert?

    Quellcode

    1. Imports System.Net
    2. Imports System.IO
    3. Imports System.Text.RegularExpressions
    4. Public Class Form1
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. Dim Request As HttpWebRequest = HttpWebRequest.Create("URL")
    7. Dim Response As HttpWebResponse = Request.GetResponse()
    8. Dim reader As StreamReader = New StreamReader(Response.GetResponseStream)
    9. Dim httpContent As String = httpContent = reader.ReadToEnd
    10. End Sub
    11. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    12. Dim endung As String
    13. Dim fmt As String
    14. If RadioButton1.Checked Then
    15. fmt = "18"
    16. endung = ".mp4"
    17. End If
    18. If RadioButton2.Checked Then
    19. fmt = "24"
    20. endung = ".mp4"
    21. End If
    22. If RadioButton3.Checked Then
    23. fmt = "17"
    24. endung = ".flv"
    25. End If
    26. If RadioButton4.Checked Then
    27. fmt = "17"
    28. endung = ".3gp"
    29. End If
    30. If TextBox1.Text.Contains("http://") Then
    31. Dim pfad As String
    32. SaveFileDialog1.ShowDialog()
    33. pfad = (SaveFileDialog1.FileName)
    34. Dim Link As String = TextBox1.Text()
    35. Dim Request As HttpWebRequest = HttpWebRequest.Create(Link)
    36. Dim Response As HttpWebResponse = Request.GetResponse()
    37. Dim reader As StreamReader = New StreamReader(Response.GetResponseStream)
    38. Dim httpContent As String
    39. httpContent = reader.ReadToEnd
    40. Dim tRegEx As New Regex("""t"": ""(?<t>(.*)) """)
    41. Dim t As String
    42. t = (Mid$(tRegEx.Match(httpContent).Groups("t").ToString, 1, 46))
    43. Dim ID As String = TextBox1.Text
    44. ID = ID.Replace("http://www.youtube.com/watch?v=", "")
    45. Dim DownloadURL As String = "http://www.youtube.com/get_video?fmt=" & fmt & "&video_id=" & ID & "&t=" & t
    46. WebClient1.DownloadFile(DownloadURL, pfad & endung)
    47. End If
    48. If TextBox1.Text.Length < 1 Then
    49. MessageBox.Show("Bitte eine Video URL eingeben!")
    50. End If
    51. End Sub
    52. Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
    53. End Sub
    54. Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
    55. End Sub
    56. Private WithEvents HttpClient As WebClient
    57. Private Sub HttpClient_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles HttpClient.DownloadProgressChanged
    58. Dim bytes As Long
    59. Dim totalbytes As Long
    60. ProgressBar1.Value = e.ProgressPercentage
    61. bytes = e.BytesReceived / 1024
    62. totalbytes = e.TotalBytesToReceive / 1024
    63. Dim percent As Integer
    64. percent = (bytes / totalbytes) * 100
    65. Me.Text = percent.ToString & " %"
    66. ProgressBar1.Value = e.ProgressPercentage
    67. label.Visible = True
    68. label.Text = bytes.ToString & "kb von " & totalbytes.ToString & "kb" & " heruntergeladen " & "( " & percent & " % )"
    69. End Sub
    70. End Class

    Lg Benni ;(
    dein code ist sehr unübersichtlicht verwende mal [ vb][/ vb].
    WebClient1 wurde doch gar nicht deklariert?

    und was bringt dir das?

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Dim Request As HttpWebRequest = HttpWebRequest.Create("URL")
    3. Dim Response As HttpWebResponse = Request.GetResponse()
    4. Dim reader As StreamReader = New StreamReader(Response.GetResponseStream)
    5. Dim httpContent As String = httpContent = reader.ReadToEnd
    6. End Sub


    des kannst du ja dann nur in der Sub Load verwenden, also machts ja nicht viel sinn?
    So ladest du eine Datei herunter:

    VB.NET-Quellcode

    1. Dim Downloader As New Net.WebClient
    2. Downloader.DownloadFileAsync(New Uri("http://adresse.de/datei.zip"), "C:\datei.zip")


    Erklärung:
    Argument 1: Adresse der Datei.
    Argument 2: Wo die Datei am lokalen PC gespeichert werden soll.

    LG, Michael.