下载生成的HTML文件

时间:2011-04-06 15:44:16

标签: java download vaadin

我有一个生成的HTML文件,我只需要点击一个按钮即可下载(所以不要在新窗口中打开,只显示这个特定html文件的保存文件对话框)。

到目前为止我的代码:

AVaadinApplication application = VaadinContext.getCurrentInstance().getVariable(VaadinContext.APPLICATION, AVaadinApplication.class);

StreamResource inputHTML = new StreamResource(
        new StreamResource.StreamSource() {
            private static final long serialVersionUID = 1L;

            @Override
            public InputStream getStream() {
                    return new ByteArrayInputStream(getHelpContentString(getLocale()).getBytes());
            }
        }, "help_" + getLocale() + ".html", application);
 inputHTML.setCacheTime(0);

我非常感激任何帮助,因为我一直在为此而烦恼。

2 个答案:

答案 0 :(得分:2)

您应该将结果的HTTP Content-Disposition标头设置为附件。如何执行此操作取决于您与Web服务器的交互方式。以前的代码是作为servlet运行的,在play framwork中,作为cgi等运行吗?

答案 1 :(得分:2)

将HTML包装在Zip文件中。我知道没有任何浏览器会尝试显示Zip文件,而是将其作为文件推送到“打开(在Zip存档程序中)或保存”。