Hallo...
Ich hab ja immer den Ehrgeiz selbst die Lösung zu finden aber heut hab ich ein Problem da komme ich einfach nicht weiter.
Ich hab unter D7 und Indy9 schon mal mit dem idHTTPServer gearbeitet, bekomme es aber unter D2009 mit relativ aktuellem Indy10 (hab mal ein Update gemacht, kann aber nicht sagen wie aktuell es wirklich ist - falls das wichtig ist) einfach nicht auf die Reihe. Ich hab meinen Quellcode mal aufs wesendliche reduziert:
Delphi-Quellcode:
procedure TForm1.ServerCommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
Stream: TFileStream;
begin
if not FileExists(DocumentRoot+ARequestInfo.Document) then
showmessage('fehler');
AResponseInfo.ContentType:=GetMIMEType(DocumentRoot+ARequestInfo.Document);
Stream := TFileStream.Create(DocumentRoot+ARequestInfo.Document, fmOpenRead or fmShareDenyWrite);
AResponseInfo.ContentStream := Stream;
Stream.Free;
end;
Das Ergebnis:
Code:
Connection: close
Content-Type: text/
html
Content-Length: 70
<body>
[img]ich.jpg[/img]
[b]test[/b] test [b]test[/b]
</body>
Der Body-Part ist aus der
Html-Datei soweit passts. Der Browser stellt den
HTML-Teil auch wunderschön dar (rendert ihn wie gewünscht), aber woher kommen die ersten drei Zeilen? Und wie werd ich sie los?
ausserdem wird das Bild nicht dargestellt. Das ist erstmal zweitrangig, aber sollte der Code oben das nicht mit abfrühstücken? ServerCommandGet wird übrigens zwei mal ausgeführt. Die Bilddatei wir also angefordert. Aber sowohl Firefox alsauch der IE stellen sie nicht dar.
Gruß,
Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?