Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy - Lokale Bilder mit <img> einbinden (https://www.delphipraxis.net/74246-indy-lokale-bilder-mit-img-einbinden.html)

tail 31. Jul 2006 11:57


Indy - Lokale Bilder mit <img> einbinden
 
Ich habe schon wieder ein Problem :(

Ich mache mit Indy folgende Ausgabe:

Code:
[img]C:\Programme\screen.jpg[/img]
Das wird aber nicht angezeigt. Auch nicht, wenn ich file://c:/Programme/screen.jpg nehme. Aber wenn ich das Bild hochlade und ne URL mit http:// einfüge, dann wird es angezeigt. Kann Indy nicht auf die lokalen Dateien zugreifen? Gibt es ne Möglichkeit, dass man darauf zugreifen kann?

fkerber 31. Jul 2006 11:59

Re: Indy - Lokale Bilder mit <img> einbinden
 
Hi!

Was meinst du mit "du machst mit Indy die Ausgabe [...]"?
Am besten zeigst du mal ein wenig mehr Code!


Ciao, Frederic

tail 31. Jul 2006 12:02

Re: Indy - Lokale Bilder mit <img> einbinden
 
Ich fasse meinen HTML Code zusammen und sorge dafür, dass der Code halt angezeigt wird, wenn die Seite aufgerufen wird
Delphi-Quellcode:
AResponseInfo.ContentText := ausgabe
<img> kommt da so in ausgabe
Delphi-Quellcode:
ausgabe := ausgabe+'[img]c:\Programme\screen.jpg[/img]';
Wenn ich mir dann den Quelltext angucke, wenn ich die Seite aufrufe (localhost:port) steht das auch drin. Es wird aber nicht angezeigt :(
Und der Alt-Text kommt nur bei file://..., bei C:\... nicht. Es wird aber trotzdem nichts angezeigt.

fkerber 31. Jul 2006 12:07

Re: Indy - Lokale Bilder mit <img> einbinden
 
Hi!

Was ist denn AResponseInfo? Welche Indy-Komponente setzt du ein (IdHttp?)? Was steht vorher/nachher in Ausgabe drin? Wie sieht wirklich der fertige Quelltext (in einem anderen Browser evtl.) aus? Ist das Bild wirklich da? Leerzeichen im Bildpfad?

Fragen über Fragen....


Ciao, Frederic

tail 31. Jul 2006 12:13

Re: Indy - Lokale Bilder mit <img> einbinden
 
Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
Frage erledigt, was AResponseInfo ist? ;)

Ich habe einen idHTTPServer.


Hier die Codes, wo ich etwas zur Ausgabe hinzufüge:

Delphi-Quellcode:
ausgabe := '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">'+#13#10+
'<html>'+#13#10+
'<head>'+#13#10+
'<title>Webinterface von '+ComputerName+'</title>'+#13#10+
'<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">'+#13#10+
'</head>'+#13#10+
'<body>'+#13#10+
'<table align="center">'+#13#10+
'<tr>'+#13#10+
'<td valign="top" align="center" style="border:1px solid #000000;width:200px">'+#13#10+
'[url="http://'+GetLocalIP+':'+inttostr(IdHTTPServer1.DefaultPort)+'/"]Startseite[/url]
'+#13#10+
'[url="http://'+GetLocalIP+':'+inttostr(IdHTTPServer1.DefaultPort)+'/screenshots/"]Screenshots[/url]
'+#13#10+
'[url="http://'+GetLocalIP+':'+inttostr(IdHTTPServer1.DefaultPort)+'/command/"]Command[/url]
'+#13#10+
'[url="http://'+GetLocalIP+':'+inttostr(IdHTTPServer1.DefaultPort)+'/verzeichnis/"]Verzeichnis Browser[/url]
'+#13#10+
'</td>'+#13#10+
'<td valign="top" align="center" style="border:1px solid #000000;width:600px">';

ausgabe := ausgabe+'[img]c:\Programme\screen.jpg[/img]';

ausgabe := ausgabe+'</td>'+#13#10+
'</tr>'+#13#10+
'</table>'+#13#10+
'</body>'+#13#10+
'</html>'+ARequestInfo.Document;
  AResponseInfo.ContentText := ausgabe;

Der fertige Quellcode bei der Ausgabe:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Webinterface von ALDI</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table align="center">
<tr>
<td valign="top" align="center" style="border:1px solid #000000;width:200px">
[url="http://192.168.178.20:10/"]Startseite[/url]


[url="http://192.168.178.20:10/screenshots/"]Screenshots[/url]


[url="http://192.168.178.20:10/command/"]Command[/url]




[url="http://192.168.178.20:10/verzeichnis/"]Verzeichnis Browser[/url]


</td>
<td valign="top" align="center" style="border:1px solid #000000;width:600px">[img]c:\Programme\screen.jpg[/img]</td>
</tr>
</table>
</body>
</html>

Habe es im Firefox getestet. Im Internet Explorer wird die Seite gar nicht geladen (Server nicht gefunden) und Opera habe ich nicht installiert.

fkerber 31. Jul 2006 12:30

Re: Indy - Lokale Bilder mit <img> einbinden
 
Hi!

Der generierte HTML-Code sieht fehlerfrei aus (und funktioniert auch bei mir). Der Fehler muss also woanders liegen!
Die IP-Adressen bringen mich zu der Frage, führst du die Seite lokal aus oder über Netzwerk?

Und es ist sichergestellt, dass der Pfad ok isz?


Ciao, Frederic

tail 31. Jul 2006 13:48

Re: Indy - Lokale Bilder mit <img> einbinden
 
JO, Pfad ist richtig. Gebe ich den im Explorer ein öffnet sich das Bild.

Wird noch Lokal ausgeführt, später aber übers Netzwerk. (also localhost:port im moment) Aber es funktioniert ja nicht über den IE, kann es damit zusammen hängen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 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