Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#4

Re: Socket: Bild herunterladen

  Alt 18. Nov 2009, 21:38
Mal 'ne Frage:
Wie hast'n das obrige Zitat
Zitat:
HTTP/1.1 200 OK
Date: Wed, 18 Nov 2009 20:01:55 GMT
Server: Apache/2.2.10 (Linux/SUSE)
Last-Modified: Sun, 23 Aug 2009 09:05:27 GMT
ETag: "63059c-82da-471cb66fd03c0"
Accept-Ranges: bytes
Content-Length: 33498
Connection: close
Content-Type: image/jpeg

ÿØÿà
eigentlich bekommen?

Etwa in einem Memo/RichEdit ausgegeben?


Diese hören ja bei #0 auf.

Denn also ich es grade mal testete, da hatte ich anscheinend das gesamte Bild im Output-String.
Also zumindestens in D7 gibt .ReceiveText alle Daten anscheinend sogar unconvertiert zurück ... auch die 0#.



[add]
Delphi-Quellcode:
// Datenanfang suchen:
// Alternativ solange Zeilen rauslesen, bis eine Leerzeile gefunden wird.
// Man könnte die gelesenen Zeilen auch gleich rauslöschen
// und dann hätte man im String nur noch das Bild drinnen
i := Pos(#13#10#13#10, Output) + 4;
i2 := Pos(#10#10, Output) + 2;
if (i2 > 2) and (i2 < i) then i := i2;

if i > 4 then
begin
  // Daten lesen:
  S := TMemoryStream.Create;
  S.ReadBuffer(Output[i], Length(Output) - i + 1);
  S.Position := 0;
  jpeg.LoadFromStream(S);
end;

PS: ab Delphi 2009 wirst du massive Probleme bekommen, da dort .ReceiveText Unicode ist und somit vermutlich die Binärdaten zerstört werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat