Länge des Response wird nicht richtig zurückgegeben

Johannes7146

Goldschnabel
Ich möchte für eine Anzeige eines Downloads wissen, wie groß die Datei ist, die ich herunter lade....

Das hier war mein erster Versuch:
C#:
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
            req.Credentials = new System.Net.NetworkCredential("username", "passwort");
            System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)req.GetResponse();
            System.IO.Stream stream = res.GetResponseStream();
            System.IO.FileStream file = System.IO.File.Create(outputFile);
            long gesammt = stream.Length;

Dort bekomme ich die Meldung (in Zeile6)
Code:
Dieser Stream unterstützt keine Suchvorgänge.

Mein 2. Versuch:
C#:
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
            req.Credentials = new System.Net.NetworkCredential("Username", "passwort");
            System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)req.GetResponse();
            System.IO.Stream stream = res.GetResponseStream();
            System.IO.FileStream file = System.IO.File.Create(outputFile);
            long gesammt = res.ContentLength;

Dort bekomme ich allerdings nur den Wert -1 zurück :-(

Der anschließende Download der Datei funktioniert wunderbar. Nur den Verlauf des Downloads lässt sich so schlecht darstellen.
 
Zuletzt bearbeitet von einem Moderator:
Kenne mich mit HTTP kaum aus, aber:
MSDN sagt zu System.Net.HttpWebRequest.ContentLength:
Summary:
Gets or sets the Content-length HTTP header.

Return Values:
The number of bytes of data to send to the Internet resource. The default is -1, which indicates the property has not been set and that there is no request data to send
Was du wissen willst ist die ContentLength-Eigenschaft eines System.Net.HttpWebResponse-Objekts (also nicht HTTPWebRequest)
 
Sorry, dass ich mich nicht nochmal gemeldet hab.
Habe die länge über einen anderen Weg bekommen (Webservice).
Problem lag wohl daran das das Attribut voher nich gesetzt worden war. Darauf hatte ich allerdings auch keinen Enfluss. Daher der die Lösung mit Webservice.

Trotzdem Danke nochmal für deine Antwort.
 

Neue Beiträge

Zurück