gpt4 book ai didi

java - Vaadin 文件下载器 : start download manually

转载 作者:行者123 更新时间:2023-12-02 11:12:28 26 4
gpt4 key购买 nike

我正在构建一个项目,该项目从不同的 URL 下载多个 PDF 文件,将它们合并为一个文件并下载。

我正在尝试使用 Vaadin 的 FileDownloader 来实现此目的:

final FileDownloader fileDownloader = new FileDownloader(new FileResource(resultResource.getFile()));
fileDownloader.extend(download);

resultResource 是我要下载的生成的 PDF。

现在的问题是,生成 PDF 的时间很短,因此有时会在生成新文件之前进行下载,导致下载的是旧文件,或者是空文件。

所以我一直在尝试做这样的事情:

download.addClickListener(e -> {
try {
// This creates the new PDF
pdfConverter.manipulatePdf(storeNumber.getValue());

fileDownloader.download();

} catch (...) {
...
}
});

但到目前为止还没有任何成功。有什么办法可以做到这样的事情吗?要禁用“自动”下载并手动触发它?

最佳答案

您可以尝试两种方法

第一种方法是重构您的 UI,以便在您进入 View 时开始生成 PDF 文件,完成后启用下载按钮。如果可行的话,您可以使用其他指示器,例如进度条。

在 Vaadin 8.4+ 中,您还可以通过扩展 EventTrigger 来设置 FileDownloader(请参阅拉取请求 https://github.com/vaadin/framework/pull/10478 )和 API 规范 https://vaadin.com/download/release/8.4/8.4.2/docs/api/com/vaadin/server/EventTrigger.html如果第一种方法不适合您,这可能会被利用。

关于java - Vaadin 文件下载器 : start download manually,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50528692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com