我想在vaadin中上传录制的文件。我正在使用vaadin的上传组件。但问题是我不想显示文件对话框,而是我想激发事件从我自己的按钮上传组件。我编写了一个由Upload组件扩展并调用其fireUploadSuccess()方法的类,该事件被成功触发。但我想手动调用receiveUpload()方法,我的意思是通过从我自己的按钮触发一些事件来调用此方法。任何解决方案的朋 谢谢!
答案 0 :(得分:0)
通常,在基类Upload Class中,当调用fireUploadSuccess()时,通常会调用附加类的uploadSucceeded方法。
如果您真的更改了方法,可能会忘记super()
语句?
如果你能
,还能告诉我们你修改过的课程的例子吗?答案 1 :(得分:0)
这是我使用过程。
我创建了一个名为MyFileReceive的自定义类,它实现了Receiver
文件的Upload.java
接口。在那里我覆盖了方法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
}
}
}