【问题标题】:Vaadin upload component receiveUpload() methodVaadin 上传组件 receiveUpload() 方法
【发布时间】:2012-10-22 21:44:27
【问题描述】:

我想在 vaadin 中上传录制的文件。我正在使用 vaadin 的上传组件。但问题是我不想显示文件对话框,而是想触发事件以从我自己的按钮上传组件。我编写了一个由 Upload 组件扩展的类,并调用它的 fireUploadSuccess() 方法,该事件被成功触发。但我想手动调用 receiveUpload() 方法,我的意思是从我自己的按钮触发一些事件来调用这个方法。有解决的朋友吗? 谢谢!

【问题讨论】:

    标签: java vaadin


    【解决方案1】:

    通常情况下,在基础Upload Class中,调用fireUploadSuccess()时,通常会调用附加类的uploadSucceeded方法。

    如果你真的改变了方法,你可能忘记了super()声明?

    如果可以的话,能否请你给我们看一个你修改过的类的例子

    【讨论】:

      【解决方案2】:

      这是我使用的一个过程。

      我创建了一个名为 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
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-30
        • 2019-07-30
        • 1970-01-01
        • 2022-12-11
        • 2013-06-01
        • 2012-06-10
        • 1970-01-01
        • 2017-04-01
        相关资源
        最近更新 更多