Primefaces p:graphicImage dynamicContent未能加载404

Primefaces p:graphicImage dynamicContent未能加载404,primefaces,http-status-code-404,dynamic-content,graphicimage,Primefaces,Http Status Code 404,Dynamic Content,Graphicimage,显示p:graphicImage动态内容让我忙了好几天了。谁能帮帮我,我将非常感激 我有一个简单的方法,将p:graphicImage作为imgage.jpg的StreamedContent加载到一个列表(TreeMap)中 这是我的xhtml代码片段: <p:dataView var="id" value="#{fotoViewer.imagesViewTree.entrySet()}"

显示p:graphicImage动态内容让我忙了好几天了。谁能帮帮我,我将非常感激

我有一个简单的方法,将p:graphicImage作为imgage.jpg的StreamedContent加载到一个列表(TreeMap)中

这是我的xhtml代码片段:

            <p:dataView var="id"
                value="#{fotoViewer.imagesViewTree.entrySet()}"
                    gridIcon="pi pi-th-large" listIcon="pi pi-bars">

            <p:dataViewListItem>
                <h:panelGrid columns="2" style="width:100%" columnClasses="">

                    <p:graphicImage value="#{id.value.streamedImage}"
                        style="max-width: 30vw; max-height: 53vh;" cache="false"
                        stream="true" styleClass="w3-round-xlarge" />

                    <p:outputPanel>
                        <h:panelGrid columns="2" cellpadding="5">
                            <h:outputText value="Id:" />
                            <h:outputText value="#{id.key}" style="font-weight: bold" />

                            <h:outputText value="naam:" />
                            <h:outputText value="#{id.value.naam}" style="font-weight: bold" />

                        </h:panelGrid>
                    </p:outputPanel>

                </h:panelGrid>
            </p:dataViewListItem>
        </p:dataView>

我可以在我的浏览器中看到动态内容,就我所能判断的而言,这些内容看起来不错,如下所示:

(img id=“cac010:j_id_11:0:j_id_14”src=“/cJsfComponents1/faces/javax.faces.resource/dynamiccontent.properties?ln=primefaces&v=8.0&pfdrid=8ca67d0788631cc82cdee936b19abf8e&pfdrt=sc&pfdrid&c=false&uid=6d617a80-1fe2-4b5f-80b8-b7868dac9f10”alt=“”class=“w3圆形尺寸:最大宽度:30vw;最大高度:”)

我不明白为什么服务器不提供contentStream。它以http-status-code-404响应


Thx提前为您提供任何帮助

找到了8年前给出的解决方案,这正是我想要的。还有。。。。它工作得很好

如何在ui中与DefaultStreamedContent一起使用:重复

因为我使用的是PrimeFaces V8.0,所以在如何获取图像的StreamedContent方面有一些不同的实现。以下是我的ImageStreamer方法:

public StreamedContent getStreamedContentOfImage(ByteArrayInputStream bais) {
    StreamedContent graphicImage = null;
    graphicImage = DefaultStreamedContent.builder().contentType("image/png").stream(() -> {
        try {
            return bais;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }).build();

    return graphicImage;

}

也许这对将来的人有帮助

谢谢你的快速回复。你包含的链接几天前也是我的出发点。我必须说,希拉斯,这是一个非常糟糕的例子!代码不工作,并且不完整。这个链接让我走上了正确的轨道。我现在一切都很好,我对素面越来越有热情了!令人遗憾的是,并不是所有的文档都是准确、真实和清晰的设置,并且考虑到了所有级别的用户!。反正是Thx

检查文档:我们已经在文档中付出了很多努力,但几乎不可能抓住每个组件的每个案例:p请随时帮助我们改进文档,一切都在GitHub中!现在稍微打磨一下:Ok@tandraschko。我对你的抛光很好奇!但是您包含的链接给了我“404文件未找到”(primefaces.github.io/primefaces/10_0/#/components/graphicimage)链接已更改:@tandraschko,很好的抛光/增强!谢谢!