Moin moin,
ich möchte gerne erreichen, dass ich sehen kann, wieviel von X Bytes
bereits heruntergeladen worden.
Mein Problem ist, dass ich durch
Response.ContentLenght zwar die
Länge der Datei ansehen kann (4000 bytes),
jedoch kann ich nicht die
aktuelle Position des Downloads abrufen, um zu sehen, wie weit der Download bereits ist.
In einem gesonderten Thread rufe ich folgende Methode auf, um eine Datei durch
WebResponse & einem Stream herunterzuladen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create(packIdent[i]);
WebRequestObject.UserAgent = "Mozilla 4.0/XXXXX"; WebRequestObject.Referer = "http://google.com"; WebRequestObject.AllowAutoRedirect = false;
Response = WebRequestObject.GetResponse();
Stream WebStream = Response.GetResponseStream();
FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write); ReadWriteStream(WebStream, fs);
WebStream.Close(); Response.Close(); |
Jedoch wenn ich (aus einem anderen Thread) versuche, die
aktuelle Position abzufragen mit
Response.GetResponseStream().Position
schmeißt er mir eine Exception, in dem er sagt, dass
keine Suchläufe erlaubt sein.
> Beim MSDN las ich, dass es evtl. daran liegt, dass die
Klasse abgeleitet worden ist und die .Position nicht mitgenommen wurde.
Gibt es eine Lösung bzw. einen anderen Weg einen Datei herunterzuladen und den aktuellen Status anzusehen?
Hoffe ihr könnt helfen.
Mit freundlichen Grüßen,
Our force; in mind.