我正在编程 <p:lightBox>
带有流媒体<p:media>
预览外部 PDF。
它工作正常,但我有点障碍。
当 pdf 对话框被渲染时,它会显示(在鼠标悬停时)一个标题,它总是显示相同的标题:“dynamiccontent.properties”。
有没有我可以覆盖的属性或其他东西来自定义它?
JSP代码:
<p:lightBox>
<h:outputLink value="#" title="#{myDoc.fileName}">
<i class="fa fa-eye" aria-hidden="true"></i>
</h:outputLink>
<f:facet name="inline">
<p:media value="#{documentController.stream}" width="1100px" height="600px" player="pdf">
<f:param name="idStore" value="#{myDoc.idStore}" />
</p:media>
</f:facet>
</p:lightBox>
Displayed header for a PDF
谢谢你的时间。
最佳答案
这似乎是 Primefaces 中的一个错误。结帐 Primefaces 6.1 版,因为它们似乎已解决此问题 here .
然后,在DefaultStreamedContent
中设置内容名称作品
new DefaultStreamedContent(pdfData(), "application/pdf", "document.pdf");
我的
<p:media>
在 xhtml 中:<p:media value="#{pdfViewerController.fileStream}" player="pdf" cache="false" />
和渲染
<p:media>
看起来像这样:<object type="application/pdf"
data="/javax.faces.resource/dynamiccontent.properties;/document.pdf?ln=primefaces&v=6.1&pfdrid=8881a099cd5419259117729be00f4824&pfdrt=sc&pfdrid_c=false&uid=f6c9ade9-4d7b-47ab-832f-19b119e6cd58"
internalinstanceid="9" title="">
</object>
那么Chrome中的pdf查看器标题和下载文件名都是“document.pdf”。
关于pdf - 默认 header p :media with pdf player,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44393132/