0

首先对于桌面(不是Android)应用程序。

我想将放置在加载的 HTML 文档中的图像源替换为本地图像源(从我的硬盘驱动器)。我使用 JavaFX 组件显示加载的页面:webEngine->webView->Scene->Stage。我做了什么?

我使用 webEngine.load(" http:// any_page ") 加载了一个页面。之后,我获得了一个图像对象(在 Java 端)并将其转换为 HTMLImageElementImpl。这是加载页面上存在的对象的表示。我将 src 属性设置如下:

htmlImageElementImpl.setSrc("file:/local_path_to_my_image");

...并预计新图像将出现在加载的页面上。不幸的是,它不起作用。以前的图像(最初在加载的页面上)已经消失并且没有出现新的图像(有一个白色区域)。我确定该图像在那里(当我单击它的右键时,可以选择“在新窗口中打开图像”选项并查看它)。它出现。我认为它需要刷新组件才能显示它。

当我将此标签的 src 替换为 Internet 中存在的图像时,有趣的是,如下所示:

htmlImageElementImpl.setSrc(" http://_file_existing_in_the_internet//image.jpg ");

...一切都很好,替换的图像会即时出现。

我花了两天时间,我还没有解决这个问题。所以我决定问你。

此致

凯斯

4

1 回答 1

0

我忘了回答。问题与安全问题有关。访问文件系统(从 java 脚本层)的能力受到上述原因的限制。

解决方案:我建立了 Java 嵌入式本地 HTTP 服务器并在那里共享此图像。我们必须接受必须打开本地机器上的指定端口的事实,但这是可以接受的解决方案。

于 2016-07-28T09:16:53.367 回答