Größe der Bilddatei vor dem Herunterladen aus dem Internet abrufen

8

Ich lade Bilddateien aus dem Internet mit dem folgenden Code in meiner Konsolenanwendung herunter.

%Vor%

Der Code läuft absolut gut.

Ich möchte wissen, ob es eine Möglichkeit gibt, die Größe dieser Bilddatei zu ermitteln, bevor ich sie herunterlade.

PS- Eigentlich habe ich Code geschrieben, um einen Crawler zu erstellen, der sich auf der Seite bewegt, um Image-Dateien herunterzuladen. Also ich kenne seine Größe vorher nicht. Alles, was ich habe, ist der vollständige Pfad der Datei, die aus der Quelle der Webseite extrahiert wurde.

    
user1589754 22.08.2012, 19:07
quelle

4 Antworten

7

Hier ist ein einfaches Beispiel, das Sie ausprobieren können Wenn Sie Dateien mit verschiedenen Erweiterungen wie .GIF, .JPG, etc Sie können eine Variable erstellen oder den Code innerhalb einer Switch Case-Anweisung umbrechen

%Vor%     
MethodMan 22.08.2012 19:11
quelle
6

Wenn der Web-Service Ihnen einen Content-Length HTTP-Header gibt dann wird es die Bilddateigröße sein. Wenn der Web-Service jedoch Daten an Sie "streamen" möchte (mithilfe der Chunk-Codierung), wissen Sie nicht, bis die gesamte Datei heruntergeladen wurde.

    
EthanB 22.08.2012 19:11
quelle
2

Sie können eine HttpWebRequest verwenden, um die HEAD-Methode der Datei abzufragen und die Inhaltslänge in der Antwort zu überprüfen

    
Francis 22.08.2012 19:12
quelle
0

Sie sollten sich diese Antwort ansehen: C # http: / ... / Dateigröße , wo Ihre Frage vollständig erläutert wird. Es verwendet HEAD HTTP-Anforderung, um die Dateigröße abzurufen, aber Sie können auch den Header "Content-Length" während der GET-Anforderung lesen, bevor Sie den Antwortstream lesen können.

    
Perevalov 22.08.2012 19:11
quelle

Tags und Links