【问题标题】:Vaadin 8 -java - How to download a file from a path in a projectVaadin 8 -java - 如何从项目中的路径下载文件
【发布时间】:2023-01-04 20:43:07
【问题描述】:

我正在尝试下载包含在我的项目文件夹中的 pdf 文件。我不知道该怎么做。我正在使用 vaadin 8 和 java

【问题讨论】:

  • Vaadin 8 具有 FileResource、ClassResource、ThemeReseource 等类。这取决于您的文件究竟在哪里可以正确使用。例如。它在类路径或主题文件夹中吗?

标签: java file download vaadin8


【解决方案1】:

为此,您可以使用 FileDownloader 扩展名。 FileDownloader 附加到某个组件,它需要一个 Resource 对象来确定如何查找文件内容:

   Button downloadButton = new Button("Download file");
   Resource myResource = createResource();
   FileDownloader fileDownloader = new FileDownloader(myResource);
   fileDownloader.extend(downloadButton);
   layout.add(downloadButton);

Resource 接口有几种实现类型,它们提供了定义文件的不同方式。例如,如果您的文件是您主题的一部分(放在您的主题文件夹下),您可以使用ThemeResource。您可以在文档中找到有关不同 Resource 类型的更多信息:https://vaadin.com/docs/v8/framework/application/application-resources/#application.resources.api

【讨论】: