Primefaces monitorDownload启动后立即停止火警功能
问题描述:
我正在使用Primefaces monitorDownload(PF 3.4.2)。Primefaces monitorDownload启动后立即停止火警功能
我想创建一个文件并用commandButton下载它。点击按钮,在启动功能之后立即启动停止功能。然后生成+下载请求正确完成。因此,在下载结束时不会触发结束函数,但在开始时,与启动函数相同。
不是我想要的。我想这样的场景:
- 点击该按钮出现
- 加载纺车(显示正逐步生成)
- 生成的文件
- 加载纺纱消失的
- 文件下载请求浏览器
我的代码:
<h:form>
<pf:panel>
<pf:commandButton value="Export database" id="exportDatabase" ajax="false" onclick="PrimeFaces.monitorDownload(window.alert('start'), window.alert('stop'));">
<pf:fileDownload value="#{bean.exportDatabase()}" />
</pf:commandButton>
</pf:panel>
</h:form>
的豆方:
private StreamedContent exportDatabaseFile;
public StreamedContent exportDatabase() {
String exportDatabaseFilename = "nameOfTheFile.xlsx";
Path nameExportDatabasePath = "C:\nameOfTheFile.xlsx";
// Populate exportDatabaseFile
exportDatabaseFile = new DefaultStreamedContent(new FileInputStream(nameExportDatabasePath.toFile()), FacesContext.getCurrentInstance().getExternalContext().getMimeType(exportDatabaseFilename), exportDatabaseFilename);
return exportDatabaseFile;
}
如何解决这个问题的任何想法?
答
尝试使用
private StreamedContent exportDatabaseFile;
public StreamedContent exportDatabase() {
String exportDatabaseFilename = "nameOfTheFile.xlsx";
Path nameExportDatabasePath = "C:\nameOfTheFile.xlsx";
// Populate exportDatabaseFile
return new DefaultStreamedContent(new FileInputStream(nameExportDatabasePath.toFile()), FacesContext.getCurrentInstance().getExternalContext().getMimeType(exportDatabaseFilename), exportDatabaseFilename);
}
你解决了这个问题吗? – Franx