我正在开发jsf页面并使用primefaces。在执行此pdf名称时,显示"dynamiccontent.properties.xhtml“。我想要显示pdf与pdf名称。我该怎么做?
<p:dialog header="Dialog" widgetVar="dialogView" modal="false">
<h:form id="form">
<h:panelGrid columns="1" cellpadding="5">
<p:media value="#{bean.streamedContent}"
player="pdf" width="1000px" height="750px">
<f:param name="bean.selectedFile.fileName"
value="#{bean.generateRandomIdForNotCaching()}" />
</p:media>
</h:panelGrid>
</h:form>
</p:dialog>这是我的密码
public void showFile() {
setStreamedContent(new DefaultStreamedContent(getData(selectedFile.getFileName()), "application/pdf",
"downloaded_" + selectedFile.getFileName()));
}
private InputStream getData(String fileName) {
File folder = new File(folderFile);
File file = new File(folder + "\\" + fileName);
InputStream fileView = null;
try {
fileView = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return fileView;
}
public String generateRandomIdForNotCaching() {
return java.util.UUID.randomUUID().toString();
}发布于 2018-07-13 11:28:57
您可以尝试PrimeFaces扩展文档查看器,它可以让您更多地控制如何加载PDF,并让您控制流内容的下载文件名。
下载=如果流内容,这将是下载文件的名称。注意:必须在.pdf中结束,PDF.js才能捡到它!
https://stackoverflow.com/questions/51318048
复制相似问题