如何从Vaadin7中的服务器下载文件?

时间:2013-04-02 11:31:13

标签: java download vaadin

我有FileResource

FileResource curResource = new FileResource(new File(basepath +
                                "/WEB-INF/docs/"+path+".pdf"));

我希望通过点击按钮从计算机上的浏览器中保存此文件。我怎么能在Vaadin 7中这样做?感谢

我尝试这样的事情:

ExternalResource resource = new ExternalResource(basepath +
                                "/WEB-INF/icons/"+"block_16.png");
Page.getCurrent().open(resource.getURL(),"Download",true);

但我有空:关于:空白页面没有任何反应......

2 个答案:

答案 0 :(得分:10)

我解决了我的问题!

private String basepath = VaadinService.getCurrent()
            .getBaseDirectory().getAbsolutePath();
private Button saveExcel = new Button();
Resource res = new FileResource(new File(basepath +
                "/WEB-INF/docs/settings.xlsx"));
FileDownloader fd = new FileDownloader(res);
fd.extend(saveExcel);

从Vaadin的服务器下载非常容易

答案 1 :(得分:8)

此解决方案的问题在于:在调用fd.extend之前必须知道文件名和文件内容。

如果您想按需构建文件名和文件内容,请参阅Vaadin wiki页面中的教程:Letting The User Download A File