0

如果我改变

image="#{pageContext.servletContext.contextPath}/upload
/#{fileUploadController.imagemTemporaria}"

并放

image="/imagens/#{fileUploadController.imagemTemporaria}" 

图像已加载。另一方面,crop 方法停止工作。

我的图片在F:\imagens-retaguarda\imagens

我的描述符包含以下内容

 <property name="alternatedocroot_1" value="from=/imagens/* 
 dir=F:\imagens-retaguarda\" />

你知道为什么会这样吗?

下面是我的代码。

<h:form>

    <p:outputPanel id="outputPanelUpload">

        <h:panelGrid columns="2">

            <h:outputText value="Imagem" rendered="#{fileUploadController.exibeBotao}"/>
            <h:outputText value="Pré-visualização" rendered="#{fileUploadController.exibeBotao}"/>
            <p:imageCropper id="imageCropperImagemTemporaria" 
                value="#{fileUploadController.croppedImage}" 
                image="#{pageContext.servletContext.contextPath}/upload/#{fileUploadController.imagemTemporaria}" 
                initialCoords="0,0,50,50" 
                maxSize="250,163" 
                minSize="30,30" />
            <h:panelGroup rendered="#{fileUploadController.exibirPreVisualizacao}">
                <p:graphicImage value="#{fileUploadController.imagemEnviada}" cache="false"/>
            </h:panelGroup>

        </h:panelGrid>

        <br/>

        <p:commandLink action="#{fileUploadController.crop}" update="outputPanelUpload" rendered="#{fileUploadController.exibeBotao}" value="Pré-visualizar" id="preVisualizar"/>

    </p:outputPanel>

    <br/>
    <br/>

    <p:fileUpload fileUploadListener="#{fileUploadController.enviarImagem}" sizeLimit="1000000" auto="true" update="outputPanelUpload" label="Escolher"/>

</h:form>  
4

1 回答 1

0

p:imageCropper 有一个限制,它不能与 glassfish 中的备用 docroot 一起使用

来自 primefaces 论坛

ImageCropper 可以裁剪 webroot 中的本地图像和位于 http:// 的外部图像。我不认为这是一个错误,但更像是一个限制,因为它不支持像这样的 glassfish 特定的东西。

optimus 链接到上述引用

一些友好的论坛用户整理了一个关于如何构建完整 url 的代码片段。Havnt 自己对其进行了测试,但从概念上讲它应该可以工作。

<p:imageCropper id="croppedImg" 
   value="#{controller.croppedImage}" 
   image="#{request.requestURL.substring(0, request.requestURL.length() - request.requestURI.length())}#{request.contextPath}/Screens/Image.png" 
   initialCoords="10,10,200,200" />

关联

于 2013-07-25T09:02:33.977 回答