Datei wird nicht vollständig heruntergeladen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von bigbasti.

    Datei wird nicht vollständig heruntergeladen

    ich arbeite momentan an einem Updater für eines meiner Programme und bin inzwischen an der Stelle wo die Datei runtergeladen werden soll. Das funktioniert auch einwandfrei, bloß lädt er die Datei nicht vollständig runter (ca. die letzten 3.000 Bytes fehlen).
    Zum Herunterladen verwende ich die folgende Prozedur:

    VB.NET-Quellcode

    1. Dim _Request As WebRequest = WebRequest.Create(DownloadPath)
    2. Dim _Response As WebResponse = _Request.GetResponse
    3. Dim _Stream As Stream = _Response.GetResponseStream()
    4. Dim _Reader As New BinaryReader(_Stream)
    5. Dim _File As New FileStream(DownloadSavePath, FileMode.Create)
    6. For i As Long = 0 To _Response.ContentLength
    7. _File.WriteByte(_Reader.ReadByte)
    8. Next


    Das ganze steht auch in einer Try-Klammer aber es wird kein Fehler oder so abgefangen...
    Bin leider total ratlos weil ich noch nicht sehr fit bin was download von dateien angeht.. :o

    /edit: ok kam grad durch nochmaliges testen auf die lösung..
    und zwar muss es heißen:

    VB.NET-Quellcode

    1. For i As Long = 0 To _Response.ContentLength

    aber wieso ist das so??
    kann mir das jemand erklären?

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

    Hey,

    ich kann zwar nicht erkennen, was du zunächst als Lösungsansatz im Code stehen hattest, weswegen ich darauf jetzt auch nicht näher eingehen kann.

    Vereinfacht ausgedrückt bedeutet "For i As Long = 0 To _Response.ContentLength", dass von Byte 0 bis zum letzten Byte, welches als "_Response.ContentLength" ausgedrückt wird, in die Datei geschrieben wird.

    Vermutlich wurde deine Schleife davor immer zu früh verlassen, was zu keiner Fehlermeldung sondern nur zu einer defekten Datei führte.

    Gruß, Manschula