Jeśli powiązałem mój serwer HTTP Prolog z localhost
w porcie 9000, w jaki sposób mogę sprawić, aby Prolog wygenerował właściwą ścieżkę dla moich obrazów? Na przykład, jeśli moje .pl
pliki i .jpg
lub .png
pliki znajdują się na pulpicie, jak mogę uczynić serwer generowania kodu:Jak zawrzeć obraz na stronie HTML obsługiwanej dynamicznie przez Prolog?
<img src="C:\Users\Luka\\Desktop\ImageName.ext"/>
, gdzie „ext” oznacza rozszerzenie. Przyjrzałem się dokumentacji SWI-Prolog i this tutorial, ale uważam, że wszystkie te abstrakcyjne ścieżki są bardzo mylące. Mam duże doświadczenie z serwerami sieciowymi, ale jest to dużo inne i mam okropne problemy z jego zrozumieniem.
Oto moja próba, składa się z tego, co nauczyłem się (lub przynajmniej myślę, że mam) całej dokumentacji SWI-Prolog i wyżej wspomnianym poradniku:
:- 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'])
).
Jeszcze raz dziękuję z góry za twoja ogromna cierpliwość. :-)
Czy działa dla plików css i js? –