AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy-HTTP Get und Zip-Dateien ....
Thema durchsuchen
Ansicht
Themen-Optionen

Indy-HTTP Get und Zip-Dateien ....

Ein Thema von Bitworm · begonnen am 29. Mai 2007 · letzter Beitrag vom 29. Mai 2007
Antwort Antwort
Benutzerbild von Bitworm
Bitworm

Registriert seit: 28. Jun 2004
Ort: Bockhorn
90 Beiträge
 
Delphi 11 Alexandria
 
#1

Indy-HTTP Get und Zip-Dateien ....

  Alt 29. Mai 2007, 11:27
Hallo zusammen !

Ich habe folgendes Problem: per HTTP-Get fordere ich auf einem
Server einen zip-Datei an. Der Head-Aufruf gibt mir auch die
korrekten Werte zurück, wenn ich aber anschließend die Datei
per HTTP-Get herunterladen möchte gibt es die seltsame Fehlermeldung
(siehe beigefügte Datei).

Der Code:

Delphi-Quellcode:
procedure TForm1.cxButton1Click(Sender: TObject);
var
   BytesKopiert, BytesInsgesamt: int64;
   lStream: TFileStream;
begin
   BytesKopiert := 0;
   IdHTTP.Head(cxTextEdit1.Text);
   BytesInsgesamt := IdHTTP.Response.ContentLength;

   lStream := TFileStream.Create('c:\test.zip', fmCreate or fmShareDenyNone);

   idhttp.Request.ContentType := idhttp.Response.ContentType;
   idHTTP.Get(cxTextEdit1.Text, lstream);

   IdHTTP.Response.ContentStream.Write(lStream, IdHTTP.Response.ContentStream.Size);

   FreeAndNil(lStream);
end;
Die verwendete Indy-Version ist 9, beim IDHttp habe ich HandleRedirects auf True und False
stehen gehabt und es war in beiden Fällen ohne Erfolg. Hat jemand einen Tipp für mich ?

Vielen Dank im vorraus !
Miniaturansicht angehängter Grafiken
fehler_945.jpg  
Rolf Heinen
Bye und bis denne

Bitworm
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#2

Re: Indy-HTTP Get und Zip-Dateien ....

  Alt 29. Mai 2007, 11:35
Eigentlich strotzt die gesamte Zeile 15 vor Denkfehlern: für die Größe des zu schreibenden Blocks verwendest Du die Größe des Zielblocks (hier wahrscheinlich dasselbe), dann schreibst Du in einen Stream der nur zum Lesen gedacht ist (vielleicht wolltest Du lesen) und schlußendlich ist die ganze Zeile imho überflüssig, da der Stream ja bereits den Inhalt der heruntergeladenen Datei enthält.
  Mit Zitat antworten Zitat
Benutzerbild von Bitworm
Bitworm

Registriert seit: 28. Jun 2004
Ort: Bockhorn
90 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Indy-HTTP Get und Zip-Dateien ....

  Alt 29. Mai 2007, 11:57
Zitat von CCRDude:
Eigentlich strotzt die gesamte Zeile 15 vor Denkfehlern: für die Größe des zu schreibenden Blocks verwendest Du die Größe des Zielblocks (hier wahrscheinlich dasselbe), dann schreibst Du in einen Stream der nur zum Lesen gedacht ist (vielleicht wolltest Du lesen) und schlußendlich ist die ganze Zeile imho überflüssig, da der Stream ja bereits den Inhalt der heruntergeladenen Datei enthält.
Oki, selbst wenn ich diese Zeile lösche (sie ist eher aus der Verzweifelung heraus entstanden,
deswegen die Denkfehler ;( ): die gezeigte Exception wird durch den Get ausgelöst.
Also muss da schon was nicht stimmen.
Rolf Heinen
Bye und bis denne

Bitworm
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Indy-HTTP Get und Zip-Dateien ....

  Alt 29. Mai 2007, 12:31
Hallo Rolf,

die Vorgehensweise im Detail sollte so aussehen:

Delphi-Quellcode:
var
  s: TStream;
begin
  // ...
  s := TFileStream.Create('c:\test.zip', fmCreate);
  try
    HTTP.Get(Edit.Text, s);
  finally
    s.Free;
  end;
end;
Damit wird die Datei vom Server geholt und lokal geschrieben.

Grüße vom marabu
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#5

Re: Indy-HTTP Get und Zip-Dateien ....

  Alt 29. Mai 2007, 12:39
Hat er aber auch so verwendet... nur daß ein .Head davorkommt und er den ContentType setzt.

Da die beide aber nicht zwingend notwendig sein sollten, würd ichs mal ohne die versuchen?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz