Re: IdHTTPServer Bilder mit Text verschicken ?!?
Wenn ich nur ein bild versende klapt es mit :
Delphi-Quellcode:
p ist filename mit dem pfad. So functioniert es.
aresponseinfo.ContentStream := tfilestream.Create(p,fmopenread);
Dann habe ich folgendes versucht :
Delphi-Quellcode:
Wenn htmltext enthält keine bilder dann wird es ohne problemme dargestellt,
if arequestinfo.Document ='/'
then aresponseinfo.ContentText := htmltext; else aresponseinfo.ContentStream := tfilestream.Create(p,fmopenread); wenn htmltext enthält nur bilder wird es auch ohne problemme dargestellt aber wenn htmltext beinhaltet bilder und text dann kommt nur der text und für bilder bleibt nur der platzhalter. bin am ende gruss |
Re: IdHTTPServer Bilder mit Text verschicken ?!?
So sieht die ganze Test geschichte aus :
Delphi-Quellcode:
gruss
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
Var html, p : String; begin p := 'E:\DELPHI\° DELPHI 2007 °\WEB SERVER TEST\test.jpg'; html := '<Table>' + '<tr><td>' + '[b]Hallo Jezt geht los[/b]' + '</td></tr></table>'; // '[img]'+p+'[/img]'; If ARequestInfo.Document ='/' Then AResponseInfo.ContentText := html Else AResponseInfo.ContentStream := tfilestream.Create(p,fmopenread); end; seba |
Re: IdHTTPServer Bilder mit Text verschicken ?!?
Ich habe die lösung :
Delphi-Quellcode:
Ich habe mich einfach im kreis gedreht und die welt nicht meht verstanden.p := relpfad + ARequestInfo.Document; If ARequestInfo.Document ='/' Then Begin AResponseInfo.ContentText := html; End else begin AResponseInfo.ContentStream := tfilestream.Create(p,fmopenread); End; Aber am ende ist es simpler als ich dachte. Trotz dem ich danke euch. gruss seba |
Re: IdHTTPServer Bilder mit Text verschicken ?!?
Liste der Anhänge anzeigen (Anzahl: 1)
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.html' then 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:
Das ist mit Indy9 gemacht, kann sein, dass Indy10 da etwas abweicht.
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; Schönen Abend noch Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 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