Einzelnen Beitrag anzeigen

MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#1

TIdHTTPServer : HTML Dokument vor dem versenden bearbeiten

  Alt 23. Jul 2005, 00:01
Hallo,

ich habe einen kleinen HTTP-Server mit den Indy's (Version 10):

Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
  root: String;
begin
  root := ExtractFilePath(ParamStr(0));
  AResponseInfo.ContentStream := TFileStream.Create(root + ARequestInfo.Document, fmOpenRead);
end;
klappt soweit alles gut, nur möchte ich jetzt aber die angeforderte HTML-Datei vor dem übermitteln bearbeiten, hierbei soll aber nicht die Datei auf der Platte verändert werden, da die Veränderung der Datei für diesen einen User bestimmt ist.


Daher dachte ich an folgendes:

Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
  root : String;
  htmlfile: TStrings;
begin
  root := ExtractFilePath(ParamStr(0));
  htmlfile := TStringList.Create;
  try
    htmlfile.LoadFromFile(root + ARequestInfo.Document);
    // <-- HTML-Code modifizieren -->
    AResponseInfo.ContentText := htmlfile.Text;
  finally
    htmlfile.Free;
  end;
end;
Bei dieser Variante gibt es aber Probleme mit Bilder etc.


Gibt es eine Möglichkeit den HTML-Source vor dem senden zu bearbeiten oder
kann man bei der unteren Variante ein "Arbeitsverzeichniss" festlegen, so das
links und Bilder funktionieren ?

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat