Wenn ich meinen Prolog-HTTP-Server an Port 9000 an localhost
gebunden habe, wie kann ich Prolog veranlassen, den richtigen Pfad für meine Bilder zu generieren? Zum Beispiel, wenn meine .pl
Dateien und .jpg
oder .png
Dateien auf dem Desktop befinden, wie kann ich den Server machen generiert Code wie folgt:Wie fügt man ein Bild in eine HTML-Seite ein, die dynamisch von Prolog bedient wird?
<img src="C:\Users\Luka\\Desktop\ImageName.ext"/>
, wobei „ext“ für die Erweiterung steht. Ich habe mir die Dokumentation von SWI-Prolog und this tutorial angesehen, aber ich finde alle diese abstrakten Pfade sehr verwirrend. Ich habe viel Erfahrung mit Web-Servern, aber das ist sehr unterschiedlich und ich habe schreckliche Probleme, es zu verstehen.
Hier ist mein Versuch, das aus, was ich (oder zumindest ich glaube, ich habe) gelernt haben, in der gesamten SWI-Prolog-Dokumentation und dem oben genannten Tutorial:
:- use_module(library(http/thread_httpd)).
:- use_module(library(http/http_dispatch)).
:- use_module(library(http/http_parameters)).
:- use_module(library(http/html_write)).
file_search_path('*', 'C:\\Users\\Luka\\Desktop\\').
server(Port) :-
http_server(http_dispatch, [port(Port)]).
:- http_handler(root(.), render_base, []).
:- http_handler('/form', process_form, []).
process_form(Request) :-
http_parameters(Request,
[name(Name,[atom])]),
reply_html_page('Posted data: ',['',Name]).
render_base(_Request) :-
reply_html_page(
title('Naslov'),
img([src='/image.png', alt='Incident'])
).
wieder Vielen Dank im Voraus für Deine große Geduld. :-)
Funktioniert es für CSS- und JS-Dateien? –