我正在使用jsf 2.2 primefaces 6.0,并且已经实现了一种显示带有Galleria Primefaces组件的图像的解决方案。现在的问题是我正在寻找一种解决方案,以使用javascript通过按钮从Galleria下载图像。(remarque i'我是初学者,从未使用过js)

一个stackoverflow成员给了我一个代码,但是它不起作用或者我无法实现它。

这是xhtml代码:

<p:galleria value="#{demandeBean.demandeSelectionnee.images}"
                        panelWidth="500" panelHeight="313" showCaption="false"
                        autoPlay="false" var="image">
                        <p:graphicImage
                            value="http://localhost:18080/openCars/images/#{image}"
                            width="500" height="313" />
                    </p:galleria>


这里是用js提出的解决方案:

<script type="text/javascript">
function download() {
    $('.ui-galleria-panel img').each(function() {
   $(this).after( "<a href='"+ $(this).attr('src') +"' download='nameOfImage.jpg' class='ui-button' style='position: absolute;right: 0;top: 0; padding: 5px 10px;background:rgba(255,255,255,0.7);'><i class='fa fa-download'></i></a>" )
});
</script>

最佳答案

p:graphicImage括在p:commandLink

<p:galleria value="#{demandeBean.demandeSelectionnee.images}" panelWidth="500" panelHeight="313" showCaption="false"
                        autoPlay="false" var="image">
   <p:commandLink action="#{demandeBean.download(image.id)}">
      <p:graphicImage value="http://localhost:18080/openCars/images/#{image}" width="500" height="313" />
   </p:commandLink>
</p:galleria>

关于javascript - 使用javascript从primefaces的Galleria组件保存图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44807413/

10-12 16:48