【发布时间】:2020-03-17 19:48:46
【问题描述】:
在我的 Vaadin Flow 网络应用程序(版本 14 或更高版本)中,我想向我的用户提供一个链接,该链接将向他们下载数据文件。要下载的文件的默认名称应在用户开始下载时确定。
我知道 Vaadin Flow 中的 Anchor 小部件。使用Anchor,下载文件的默认名称将是链接 URL 中给出的资源名称。不幸的是,这是在页面加载时确定的,而不是在用户单击链接时确定的。因此,这种方法无法满足我用用户启动下载时捕获的日期时间标记下载的需要。
String when = Instant.now().toString().replace( "-" , "" ).replace( ":" , "" ); // Use "basic" version of standard ISO 8601 format for date-time.
StreamResource streamResource = new StreamResource( "rows_" + when + ".txt" , ( ) -> this.makeContent() );
Anchor anchor = new Anchor( streamResource , "Download generated data" );
也许解决方案是使用Button 小部件而不是Anchor。 高级主题 > Dynamic Content 页面的手册中显示了使用动态创建内容的按钮。不幸的是,那里的示例在页面上加载资源,而不是为用户进行下载。
➥ Vaadin Flow 中的Button 可以用来启动下载吗?
➥ 是否有其他方法可以使用在用户启动下载时而不是在页面加载时确定的 URL 来启动下载?
【问题讨论】:
标签: download vaadin vaadin-flow