vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Resume Download 
Autor: msdn
Datum: 28.03.05 23:07

so

Ich habe sehr lange danach gesucht, und habe auch etliche Versuche kläglich scheitern lassen. Aber ich denke das ich etwas gefunden habe (was ich z.T. modifiziert habe) woraus man villeicht was basteln kann.

Ehrlich gesagt denke ich, das dies ein Code ist, der wirklich jeder braucht. Egal ob man nun eine Download-Komponente (Updater) oder ein Download-Manager oder sonst etwas schreiben will.

Das habe ich nun zusammen:

 Public Sub DownLoadFile()
 
               Dim iFileName As String = Application.StartupPath &  '"\" & _
                 main.filename.Text & "\" & URL.Substring(URL.LastIndexOf("/") _
                 + 1)
 
        Dim iRequest As Net.WebRequest = Net.HttpWebRequest.Create(URL)
        Dim iResponse As Net.HttpWebResponse = CType(iRequest.GetResponse(), _
          Net.HttpWebResponse)
 
        Dim iFileSize As Long = iResponse.ContentLength()
        main.pbar.Maximum = CInt(iFileSize)
 
        Dim iStream As IO.Stream = iResponse.GetResponseStream
        Dim iFileStream As New FileStream(iFileName, FileMode.Append)
        Dim iReadByte As Integer
 
        Dim x As Long = 0
        For x = 0 To iFileSize - 1
            If CancelButtonPressed = True Then
                iStream.Close()
                iFileStream.Close()
            End If
            iReadByte = iStream.ReadByte
            iFileStream.WriteByte(CByte(iReadByte))
            main.pbar.PerformStep()
        Next x
 
        iStream.Close()
        iFileStream.Close()
        downloaded = True
    End Sub
So. Jetzt müsste ich doch folgendes machen:

1. Die komplette Größe (in Bytes) von der Datei bekommen
2. Diese mit der aktuellen Content.Lengh() vergleichen
3. Auswerten.

Ich habe versucht das so zu lösen:

 Public Sub DownLoadFile()
 
        '"\" & main.filename.Text & "\"
        Dim iFileName As String = Application.StartupPath & "\test\" & _
          URL.Substring(URL.LastIndexOf("/") + 1)
 
        Dim iRequest As Net.WebRequest = Net.HttpWebRequest.Create(URL)
        Dim iResponse As Net.HttpWebResponse = CType(iRequest.GetResponse(), _
          Net.HttpWebResponse)
 
        Dim iFileSize As Long = iResponse.ContentLength()
 
        Dim localfile As Long
 
        localfile = CLng("123456789")
 
        If File.Exists(Application.StartupPath & "\test\" & URL.Substring( _
          URL.LastIndexOf("/") + 1)) = True Then
            If localfile = iResponse.ContentLength() Then
                ' Download Next File
 
            Else
                ' Download the Same
                ' Delete the old
            End If
        Else
 
            main.pbar.Maximum = CInt(iFileSize)
 
            Dim iStream As IO.Stream = iResponse.GetResponseStream
            Dim iFileStream As New FileStream(iFileName, FileMode.Append)
            Dim iReadByte As Integer
 
            Dim x As Long = 0
            For x = 0 To iFileSize - 1
                If CancelButtonPressed = True Then
                    iStream.Close()
                    iFileStream.Close()
                End If
                iReadByte = iStream.ReadByte
                iFileStream.WriteByte(CByte(iReadByte))
                main.pbar.PerformStep()
            Next x
 
            iStream.Close()
            iFileStream.Close()
            downloaded = True
        End If
 
 
 
    End Sub
Meine Frage nun an euch: Wie bekomme ich die exakte Größe der Datei ? (mit IO.File.X geht es nicht)

Nun weiß ich ja wieviele Bytes ich genau habe. Aber wie Serialisiere ich das dann zuende ?

Danke

Mit freundlichen Gr??en

Peter

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Resume Download1.666msdn24.03.05 21:38
Re: Resume Download1.008Moderatorralf_oop25.03.05 09:27
Re: Resume Download920msdn25.03.05 16:03
Re: Resume Download933Moderatorralf_oop25.03.05 16:48
Re: Resume Download888msdn25.03.05 23:09
Re: Resume Download942msdn28.03.05 23:07
Re: Resume Download866Moderatorralf_oop29.03.05 09:23
Re: Resume Download907msdn29.03.05 12:52
Re: Resume Download874d.fack29.03.05 14:21
Re: Resume Download865msdn29.03.05 19:30
Re: Resume Download885Moderatorralf_oop30.03.05 08:24
Re: Resume Download995Urot30.03.05 12:15
Re: Resume Download940Urot30.03.05 12:16
Re: Resume Download1.001Urot30.03.05 14:32
Re: Resume Download874Urot30.03.05 14:39
Re: Resume Download897msdn30.03.05 20:57
Re: Resume Download896Urot30.03.05 21:01
Re: Resume Download957msdn30.03.05 22:30
Re: Resume Download899msdn07.05.05 01:16
Re: Resume Download885msdn07.05.05 01:17
Re: Resume Download885Urot07.05.05 04:13
Re: Resume Download904msdn07.05.05 22:35
Re: Resume Download971msdn07.05.05 22:37
Re: Resume Download807Urot07.05.05 23:48
Re: Resume Download867msdn08.05.05 00:17
Re: Resume Download936msdn08.05.05 20:56
Re: Resume Download815msdn10.05.05 09:32
Re: Resume Download855spike2410.05.05 11:42
Re: Resume Download872msdn10.05.05 13:04
Re: Resume Download997msdn10.05.05 13:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel