Java Vaadin upload组件receiveUpload()方法
我想上传一个用瓦丁录制的文件。我正在使用vaadin的上传组件。但问题是我不想显示文件对话框,而是想触发事件,从我自己的按钮上传组件。我已经编写了一个由Upload组件扩展的类,并调用了它的fireUploadSuccess()方法,该事件被成功触发。但是我想手动调用receiveUpload()方法,我的意思是从我自己的按钮触发一些事件来调用这个方法。朋友们,有什么解决办法吗?Java Vaadin upload组件receiveUpload()方法,java,vaadin,Java,Vaadin,我想上传一个用瓦丁录制的文件。我正在使用vaadin的上传组件。但问题是我不想显示文件对话框,而是想触发事件,从我自己的按钮上传组件。我已经编写了一个由Upload组件扩展的类,并调用了它的fireUploadSuccess()方法,该事件被成功触发。但是我想手动调用receiveUpload()方法,我的意思是从我自己的按钮触发一些事件来调用这个方法。朋友们,有什么解决办法吗? 谢谢 通常,在基本Upload类中,当调用fireUploadSuccess()时,通常会调用附加类的UploadS
谢谢 通常,在基本Upload类中,当调用fireUploadSuccess()时,通常会调用附加类的UploadSucceed方法 如果您确实更改了方法,您可能忘记了
super()
语句
如果可以的话,请给我们看一个修改过的类的例子。这里是我使用的一个过程 我创建了一个名为MyFileReceive的自定义类,它实现了
Upload.java
文件的Receiver
接口。在那里,我重写了方法receiveUpload()
,并在收到上传的文件时执行了我想要执行的操作。将MyFileReceiver类的实例放入Upload类的构造函数中。希望它能奏效
public class MyUI extends UI{
private MyUI.MyFileReceiver receiver = new MyUI.MyFileReceiver();
private Upload upload;
protected void init(VaadinRequest vaadinRequest) {
.............
.......................
upload = new Upload(null, receiver);
upload.addSucceededListener((SucceededEvent event) -> {
//Do what you want to do
});
public class MyReceiver implements Receiver {
@Override
public OutputStream receiveUpload(String filename, String mimeType) {
//do what you want to do when receive upload
}
}
}