p:fileDownload无法从模态对话框中工作(由于ajax =“false”)

时间:2016-12-30 06:06:39

标签: ajax jsf primefaces download dialog

我需要在模态对话框内的数据表中使用PrimeFaces p:fileDownload,但由于在命令按钮内使用了ajax =“false”(否则文件下载不会被触发)对话框消失了。你有什么线索吗?

<p:commandLink value="#{row.name}" ajax="false" 
actionListener="#{documentsBean.fileDownloadController(row)}">
<p:fileDownload value="#{documentsBean.fileStream}" />
</p:commandLink>

以上是触发文件下载的命令链接,它包含在数据表中,数据表本身插入模态对话框中。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我测试了这个方法并且它对我来说很好,但是要做一个完整的答案,添加一些代码来理解是否存在问题

public void downloaddoc(FileUploadEvent file) throws FileNotFoundException, TransformerConfigurationException, TransformerException {
InputStream input = file.getFile().getInputstream();

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    setDownload(new DefaultStreamedContent(input, externalContext.getMimeType(file.getFile().getName(), file.getFile().getName()));
}

您可以在Primefaces Web Site

中阅读更多内容

希望能帮到你。