我想在 vaadin 上传一个录制的文件。我正在使用 vaadin 的上传组件。但问题是我不想显示文件对话框,而是想触发事件以从我自己的按钮上传组件。我编写了一个由 Upload 组件扩展的类并调用它的 fireUploadSuccess() 方法,该事件被成功触发。但是我想手动调用 receiveUpload() 方法,我的意思是从我自己的按钮触发一些事件来调用这个方法。有解决的朋友吗?谢谢!
问问题
858 次
2 回答
0
通常,在基础Upload Class 中,调用fireUploadSuccess() 时,通常会调用附加类的uploadSucceeded 方法。
如果你真的改变了方法,你可能忘记了super()
声明?
如果可以的话,你能否给我们看一个你修改过的课程的例子
于 2013-07-09T09:55:22.167 回答
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
}
}
}
于 2017-03-01T08:24:37.993 回答