如果我已将 Prolog HTTP 服务器绑定到localhost
端口 9000,如何让 Prolog 为我的图像生成正确的路径?例如,如果我的.pl
文件和.jpg
/或.png
文件位于桌面上,如何让服务器生成如下 HTML 代码:
<img src="C:\Users\Luka\\Desktop\ImageName.ext"/>
该ext
部分代表扩展。我查看了 SWI-Prolog 的文档和本教程,但我发现所有这些抽象路径都非常令人困惑。我在 Web 服务器方面有很多经验,但这有很大不同,我在理解它时遇到了可怕的问题。
这是我的尝试,由我在整个 SWI-Prolog 文档和上述教程中学到的(或者至少我认为我已经掌握的)组成:
:- 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'])
).
再次提前感谢您的巨大耐心。:-)