我需要在模态对话框内的数据表中使用PrimeFaces p:fileDownload
,但由于在命令按钮内使用了ajax =“false”(否则文件下载不会被触发)对话框消失了。你有什么线索吗?
<p:commandLink value="#{row.name}" ajax="false"
actionListener="#{documentsBean.fileDownloadController(row)}">
<p:fileDownload value="#{documentsBean.fileStream}" />
</p:commandLink>
以上是触发文件下载的命令链接,它包含在数据表中,数据表本身插入模态对话框中。任何帮助表示赞赏。
答案 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()));
}
中阅读更多内容
希望能帮到你。