我有一个生成的 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);
非常感谢您的帮助,因为我一直在为此伤脑筋。
最佳答案
将 HTML 打包成一个 Zip 文件。我所知道的浏览器都不会尝试显示 Zip 文件,而是将其作为文件推送到“打开(在 Zip 存档程序中)或保存”。
关于java - 下载生成的 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5569171/