Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#24

Re: IdHTTPServer Bilder mit Text verschicken ?!?

  Alt 30. Dez 2008, 19:16
Hallo Shifter,

sodele auch eine kleine Lösung:

Wenn die HTML Seite nur im Speicher liegen soll.
Das wird aber recht unübersichtlich, wenn die Seite noch mehrere Links hat.

Delphi-Quellcode:
function pageCreater:TMemoryStream;
var
  sl : TStringList;
begin
  result := TMemoryStream.Create;
  sl := TStringList.create;
  sl.add('<html>');
  sl.add('<body>');
  sl.add(' dies ist ein Test');
  sl.add('<hr>');
  sl.add('[img]./_herz.jpg[/img]');
  sl.add('</body>');
  sl.add('</html>');
  sl.SaveToStream(result);
  sl.free;

end;

procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  if ARequestInfo.Document = '/index.htmlthen
    AResponseInfo.ContentStream:=pageCreater
  else
    AResponseInfo.ContentStream:=TFileStream.Create(ExtractFilePath(ParamStr(0))+ARequestInfo.Document,fmOpenRead);
  Memo1.Lines.Add(ARequestInfo.Document);
end;

Der einfachere Weg ist daher die html Seite auf der Platte liegen zu haben.

Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
    AResponseInfo.ContentStream:=TFileStream.Create(ExtractFilePath(ParamStr(0))+ARequestInfo.Document,fmOpenRead);
  Memo1.Lines.Add(ARequestInfo.Document);
end;
Das ist mit Indy9 gemacht, kann sein, dass Indy10 da etwas abweicht.


Schönen Abend noch
Klaus
Miniaturansicht angehängter Grafiken
browser_202.png  
Klaus
  Mit Zitat antworten Zitat