Jsf 无法使用primefaces将流媒体内容呈现到媒体中

Jsf 无法使用primefaces将流媒体内容呈现到媒体中,jsf,primefaces,Jsf,Primefaces,我尝试了数千种备选方案,试图在web浏览器中显示pdf,这是我的xhtml文件的一部分: <p:media value="registerController.showFile" width="300" height="450" player="pdf" /> 在console的浏览器中,我收到404错误,以下是我未成功放弃的一些建议: , , 如果您拥有指向已生成PDF文件的完整路径(从资源文件夹),则可以在xhtml中加载: <object id="pdf_docum

我尝试了数千种备选方案,试图在web浏览器中显示pdf,这是我的xhtml文件的一部分:

<p:media value="registerController.showFile" width="300" height="450" player="pdf" />
在console的浏览器中,我收到404错误,以下是我未成功放弃的一些建议:

  • ,
  • ,
如果您拥有指向已生成PDF文件的完整路径(从资源文件夹),则可以在xhtml中加载:

<object id="pdf_document" type="application/pdf" data="#{youBean.documentPath}?pfdrid_c=true" width="100%" height="500px">Your browser does not support this feature!</object>
重要提示:不要放置
@PostConstruct
over load()方法,它将在preRender事件中调用:

<ui:composition template="/your-template.xhtml" ... xmlns:pe="http://primefaces.org/ui/extensions">

    <ui:define name="pageBody">

        <f:metadata>
            <f:event type="preRenderView" listener="#{streamBean.load()}" />
        </f:metadata>                   

        <pe:documentViewer height="450" value="#{streamBean.pdfContent}" download="file-sample.pdf" />  

    </ui:define>

</ui:composition>

注意:小心使用primefaces和primefaces extensions版本,在这种情况下,我使用了:

<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>6.1</version>
</dependency>
<dependency>
    <groupId>org.primefaces.extensions</groupId>
    <artifactId>primefaces-extensions</artifactId>
    <version>6.1.0</version>
</dependency>

org.primefaces
素面
6.1
org.primefaces.extensions
素数面扩展
6.1.0

没错,我需要使用一个返回pdf文档所在字节数组的web服务contained@OliverSoria好的,但是您需要在问题中指定源(不是文件)。希望更新后的答案对您有所帮助
<ui:composition template="/your-template.xhtml" ... xmlns:pe="http://primefaces.org/ui/extensions">

    <ui:define name="pageBody">

        <f:metadata>
            <f:event type="preRenderView" listener="#{streamBean.load()}" />
        </f:metadata>                   

        <pe:documentViewer height="450" value="#{streamBean.pdfContent}" download="file-sample.pdf" />  

    </ui:define>

</ui:composition>
<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>6.1</version>
</dependency>
<dependency>
    <groupId>org.primefaces.extensions</groupId>
    <artifactId>primefaces-extensions</artifactId>
    <version>6.1.0</version>
</dependency>