Se il server HTTP Prolog è stato collegato a localhost
alla porta 9000, come posso fare in modo che Prolog generi il percorso corretto per le mie immagini? Per esempio, se i miei file .pl
e .jpg
o .png
file si trovano sul desktop, come faccio a rendere il server di generare codice come questo:Come includere un'immagine in una pagina HTML servita dinamicamente da Prolog?
<img src="C:\Users\Luka\\Desktop\ImageName.ext"/>
, dove "ext" sta per estensione. Ho dato un'occhiata alla documentazione di SWI-Prolog e allo this tutorial, ma trovo molto confusi tutti i percorsi astratti. Ho molta esperienza con i server Web, ma questo è molto diverso e sto avendo problemi terribili a comprenderlo.
Ecco il mio tentativo, composto da quello che ho imparato (o almeno penso di avere) in tutta la documentazione SWI-Prolog e la suddetta 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'])
).
Grazie ancora in anticipo per la tua enorme pazienza. :-)
Funziona con file css e js? –