我正在尝试使用GWT按钮使用.click方法来调用FileUpload。使用此方法选择文件后,我一直在努力让代码触发。我已经尝试过使用addChangeHandler,但是一旦选择了文件,它似乎就不会调用。
我们将不胜感激
谢谢!
答案 0 :(得分:2)
如果使用最新的GWT 2.8.2,将使用Elemental2和JsInterop(目前正确的方法;请在此处找到说明:https://stackoverflow.com/a/52083441/5394086)。
然后请在下面找到一些示例。 本机浏览器的API的实现:https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/File_drag_and_drop。 这是一款现代风格的产品,带有“拖放”功能,而不是“点击”功能,希望您会喜欢。
第一个示例在界面上使用GXT,但是对于通用GWT来说,上传的内容是相同的,因此可以轻松修改示例以实现您的目的。 gif动画显示了它的工作原理。更重要的是,它无需拖放就可以工作。 https://gist.github.com/branflake2267/d424e4a0c0b371e3dd9d15bfd3514429
JSNI的另一个示例目前是一种不推荐使用的方法: https://gist.github.com/branflake2267/97266601f0f225ae2a750fc8115dc2c4
最后一个非常漂亮的Java8 lambda,也非常紧凑的示例,仅使用免费库,因为Elemental2是“新GWT”的一部分,而Elemento是开源(https://github.com/hal/elemento): https://gist.github.com/ibaca/a8a84b6e7b63259109fd782d7dbadd8d
希望您会发现它有用。