我的JavaFX中有一个WebView
节点,其中加载的页面有一个<input type=file>
。我想将此输入的值设置为磁盘上的文件。我知道通过将javascript注入Web视图是不可能的。但我想知道我是否可以访问JavaFX内部如何处理这些输入字段并通过那里设置值。在文档中似乎没有提到文件输入控件的处理,因此我对此感到迷失。
当我点击文件输入时。 JavaFX为我提供了一个本机文件选择器。所以,我希望在单击文件输入时调用某种形式的处理程序,要求用户选择一个文件,然后使用此值填充文件输入。这就是我想要做的。
我尝试获取元素并设置它的值,但当然,它不起作用。
webEngine.getDocument().getElementById("FileInput")
.setNodeValue("C:\\attachment.pdf");
这段代码什么也没做。没有错误,也没有结果。
那么,有什么想法吗?
答案 0 :(得分:1)
JavaFX在内部对/usr/lib/python/
节点使用WebKit
,因此它具有相同的安全限制。无法以编程方式设置WebView
的值,也无法通过JavaScript或Java设置。
我建议您在不使用<input type="file"/>
节点的情况下使用FileChooser。 WebView
节点显示的是一个选择按钮,它调用WebView
,以及一个带有所选文件名的标签。这可以使用JavaFX在Java源代码中轻松实现。