Du solltest dich einwenig mit den HTTP Grundlagen beschäftigen...
Zitat:
Mit [img]Bild.jpg[/img] sendet man ja ein Bild hoch.
Stimmt z.B. überhaut nicht. Damit referenzierst du ein Bild in deiner
HTML-Datei, da wird nichts hochgesendet oder runtergeladen.
Das liefern von Dateien über einen TidHTTPServer ist eigentlich ganz einfach:
Die Komponente TIdHTTPServer besitzt im wesentlichen eine wichtiges Ereignis: OnCommandGet
1) In diesem Ereignis wertest du die Adresse in ARequestInfo.Document aus und lieferst je nachdem andere Daten.
2) Du setzt AResponseInfo.ContentType auf einen Sinvollen Wert. Für jpg-Dateien wäre das z.B. 'image/jpeg'.
3) Du setzt den Inhalt der HTTP-Response entweder in AResponseInfo.ContentText (String) oder gleich AResponseInfo.ContentStream mit einem FileStream auf deine Datei:
Delphi-Quellcode:
procedure TMyMainForm.OnCommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
if SameText(ARequestInfo.Document, '/bild.jpg') then
begin
AResponseInfo.ContentType := 'image/jpeg';
AResponseInfo.ContentStream := TFileStream.Create('bild.jpg', fmCreate);
end;
end;
Der Rest is Fleissarbeit und Internet-Recherche. Es empfiehlt sich schwer zu verstehen was bei HTTP überhaupt abgeht. Wikipedia und Google sind deine Freunde.