如何从非URL源加载脚本、样式和图像?

4

我正在将WebKit(通过Qt)集成到一个应用程序中。我想让我的应用程序提供脚本、CSS文件和图像,而不是让WebKit通过URL检索它们(例如从数据库中检索)。

例如,一个“常规”的网页可能包含以下标记:

<IMG src="photos/album1/123456.jpg">

我希望不是通过从服务器或文件系统获取这个图像,而是通过某种回调方式,让我的应用程序提供这个图像。

我该如何实现这个功能?

1个回答

2
也许这有点过度,但也许它适用于您。
只需让您的应用程序充当HTTP服务器即可。然后,您可以拥有以下路径:
<IMG src="http://localhost:73617/photos/album1/123456.jpg">

73617是一个随机端口,您可以让您的应用程序侦听另一个端口。然后,当您的应用程序检索图像请求时,它会从您想要的任何位置获取它。它仍涉及服务器,但至少您可以完全控制资源的来源。

因此,WebKit在图像中看到URL,发送请求,您的应用程序获取请求,读取资源,返回资源。因此,基本上您仍然从您的应用程序获取它。

希望这有所帮助。


谢谢。我考虑了本地主机,但希望有更简单的方法。如何实现我的服务器?只需创建一个套接字并服务请求吗? - Tony the Pony
1
实际上,这只是通过创建套接字在特定端口上侦听的问题。此外,您需要实现HTTP协议。当然不是全部。您需要实现GET命令,也许是HEAD,就这样。不应该花费太长时间。您只需要解析HTTP命令并返回适当的资源+标头即可。幸运的是,HTTP协议有很多文档,所以您应该没有问题。 - mishmash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接