Vaadin 中使用的资源接口FileDownloader有点麻烦。对于动态创建的内容尤其如此,您需要推迟其生成,直到用户实际单击下载按钮,这在典型的 Vaadin 应用程序中很常见。
因此,我建议将Viritin插件添加到您的应用程序中。使用DownloadButton其中的组件,大大简化了使用。
这是一个简单的例子:
DownloadButton simple = new DownloadButton(out -> {
try {
out.write("Foobar".getBytes());
} catch (IOException ex) {
// exception handling
}
}).withCaption("Simple Download");
Run Code Online (Sandbox Code Playgroud)
要查看更完整的示例,请参阅Viritin 项目中的测试。如果您仔细阅读类的源代码,您还可以从项目中看到“原始解决方案” DownloadButton。
附言。我是Viritin的作者,所以有点偏向于建议它的用法,但我也一直在 Vaadin Ltd 与 Vaadin 合作十多年。
| 归档时间: |
|
| 查看次数: |
903 次 |
| 最近记录: |