download an bestimmer stelle des files starten?

BrainDamage

Mitglied
hi,

ist es möglich ein file nur zum teil downzuloaden also zb die letzten 100kb?
das problem ist das mein progrämmchen ein ziemlich großes logfile downloaden soll wobei allerdings nur die vielleicht letzten 100kb von interesse wären, wäre also praktisch nur die letzten 100kb downzuloaden anstatt das ganze riesen ding

bis jetzt sieht das ganze so aus

Code:
Dim myWebClient As New Net.WebClient
Dim uriString As New System.Uri("http://ip/verzeichnis/logfile")
Dim myStream As IO.Stream = myWebClient.OpenRead(uriString)
 Dim myWebHeaderCollection As Net.WebHeaderCollection =  myWebClient.ResponseHeaders

myWebClient.DownloadFileAsync(uriString, "c:\temp")
das ganze wird dann mit readline abgearbeitet und in ein array gestopft
 
Von deinem Progrämmchen aus kannst du das nicht machen, bzw. schon, aber macht insgesamt keinen Sinn: Denn das Teil läuft doch auf dem Client und müsste zuerst die komplette Datei downloaden um sie dann zu "beschneiden". Ergo hättest dann ohnehin schon das gesamte File so gut wie auf der Platte.

Du könntest das höchstens damit lösen, dass du über eine kleine Webapplikation darauf zugreifst und die das für dich erledigt. Da gibts mehrere Möglichkeiten ...
 
danke für deine antwort :)

ich dachte da im prinzip an die "resume" funktion von downloadmanagern, nur das ich nicht resume sondern einfach nur nen teil des files downloaden will, hab nur leider keinen schimmer wie :suspekt:
 
@Norbert Eder: Zum Glück muss ich dich korrigieren...

Downloadmanager machen von einem extrem nützlichen HTTP Request Header Gebrauch: Range. Um die letzten 100kb zu erhalten musst du den Header "Range" mit dem Wert "bytes=-102400" zusammen mit deiner Anfrage senden.

Range: bytes=-102400

Nähere Informationen dazu im offiziellen HTTP1.1 Dokument http://www.faqs.org/rfcs/rfc2616.html. (Sollte aktuell genug sein)

Hoffe das hilft.
 
eieiei das beispiel zu den request headern auf msdn funktioniert nicht (er meint serializierung wäre veraltet), kannst du mir nen groben tip geben wie ich request header übergebe?
 

Neue Beiträge

Zurück