Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#5

Re: Einbindung von Grafiken in Html-Seiten

  Alt 2. Apr 2010, 14:55
Zitat von Ookami:
Frage: was bitte meinst du mit "du darfst also nicht immer das gleiche zurückgeben im Event"?

Die Tips habe ich trotzdem nochmal benutzt. Der Erfolg bis jetzt,
Als Pfad wird mir beim Anklicken "file:///D:/Project/TLGreen.JPG" zurückgegeben (In D:\Project sind auch alle Dateien drin).
Den ins Programm eingesetzt ändert sich das angezeigte Symbol im Platzhalter. Also nicht mehr das rote X, sondern ein Image-Icon. Das Bild selbst kommt aber nicht.
Das ist hoffentlich nicht das was du im Sinne hattest. Du benutzt ja den Webserver bestimmt auch noch dazu, dass andere über ein Netzwerk auch darauf zugreifen können, oder? Dann solltest du die Bilder alle in ein Verzeichnis legen, wo der Webserver auch zugriff hat (ist ja schon) und dann dem Delphi-Programm sagen, dass alles was er nicht findet, soll er in diesem Ordner nachsehen. Heißt also: Dein Webserver prüft anhand von ARequestInfo.Document um was für eine Datei es sich handelt, die gesucht wird. Kann der Webserver das z.B. beantworten, weil er die Login-Seite schon kennt oder dynamisch zusammensetzt dann kann er hier schon antworten. Kennt er die Seite noch nicht, soll er in einem bestimmten Verzeichnis nachschauen, ob da nicht ne Datei existiert, die so heißt. Wenn ja, soll er die verschicken. Hier ist auch noch auf AResponseInfo.ContentType zu achten. Bilder lassen sich besser verschicken, wenn hier das richtige eingetragen ist. Für JPEGs gilt: "image/jpg" (nur als Hinweis).
In deiner Login-Seite sollten Pfade auf Netzlaufwerke/Festplatten/Dateien auf dem Rechner am Besten nicht vorkommen. Für das Logo kannst du ja z.B. http://127.0.0.1/img/logo.jpg nehmen. Übrigens kann dir bei solchen IP-Adressen niemand draufschauen, ob alles richtig ist.

Zitat von Ookami:
Ich hatte das Ganze als Html-Datei händisch vorbereitet, um die Angaben dann nur noch an die AResponseinfo.ContentText zu übergeben.
Bei "externen" Dateien würde ich einen TFileStream mit AResponseInfo.ContentStream verwenden. Der wird auch über das Indy-Objekt wieder freigegeben.

Benrhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat