java - vaadin中的文件上传和下载

标签 java spring maven vaadin

我对 Vaadin 非常陌生。我通过查看 Github 和其他文档来设置该项目,其中使用 Spring-security、Vaadin、Maven。

我使用 spring security 项目创建了示例 vaadin-maven。现在正在获取登录页面,然后在成功登录后,将获取一些 MainView.java。

我正在尝试更改上传 .xls 文件并读取该文件并执行一些功能,然后下载弹出窗口。

我已关注http://demo.vaadin.com/sampler/#ui/data-input/other/upload ,但是错误。无法重现我的输出。

现在,我可以使用路径“final String FILE_PATH =”F://input.xls“;”读取文件但是,我需要选择上传文件,然后使用该文件来实现进一步的功能。

功能完成后,我需要下载文件。

请建议我如何浏览文件并上传并使用上传的文件进行一些读写操作,然后下载 Vaadin。

我为此彻夜难眠。请建议我如何摆脱这个困境。 这是我的代码:

@Component
@Scope("prototype")
@VaadinView(RoleAdminView.NAME)
@Secured("ROLE_ADMIN")
public class RoleAdminView extends Panel implements View
{
   public static final String NAME = "role_admin";

@PostConstruct
public void PostConstruct()
{
    LoggerFactory.getLogger(this.getClass()).debug("POST");
    setSizeFull();
    VerticalLayout layout = new VerticalLayout();
    layout.setSpacing(true);
    layout.setMargin(true);
    layout.addComponent(new Button());
    layout.addComponent(new Label("ROLE_ADMIN"));
    layout.addComponent(new Link("Go back", new ExternalResource("#!" + 
   MainView.NAME)));

    setContent(layout);
    }

  @Override
  public void enter(ViewChangeListener.ViewChangeEvent event)
       {
  }
   }

提前非常感谢您。希望你们能解决我的问题:)

最佳答案

你可以做到,

public class RoleAdminView extends Panel implements View{

 //add a button view 
 //
  @Override
public void uploadFailed(Upload.FailedEvent event) {
    Notification.show(event.getFilename() + "----" + event.getMIMEType());
    //here it will show the error if upload failed
}

@Override
public void uploadSucceeded(SucceededEvent event) {
/// do your functionlity
 }
  @Override
public OutputStream receiveUpload(String filename, String mimeType) {
   FileOutputStream fos = null;
   // do your functionality to save in any path or server path
    return fos; // Return the output stream to write to
 }

}

我希望这对你有帮助:)

关于java - vaadin中的文件上传和下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36295511/

相关文章:

java - 我如何实现通用 BST?

spring - 找不到元素 'jpa:repositories' 的声明

Java 8 - 获取列表元素的 'parent' 对象

java - Java 中的重入是如何实现的?

java - 如何仅在 bean 存在时注入(inject)它

spring - 在 Hibernate 实体上使用 DTO 映射避免 N+1

maven - Nexus3:将特定的Maven存储库移至另一个Blob存储区

maven - Kafka Docker和端口转发从9092到9093

java - JDK8 : "java.lang.NoClassDefFoundError: javax/xml/ws/Service"

java - 运行 Hazelcast 演示应用程序时出现问题