«

»

Apr 19

Print this Post

Como exibir uma imagem proveniente de um server remoto

Problema:

Voce tem que exibir diversas imagens que vêm de um seervidor remoto, mas não quer que sejam emitidos erros caso as imagens não estejam disponíveis (logo de imagem quebrada no placeholder).

Solução:

Em vez de utilizar a tag <img> com o URL da imagem, chame um template que recuperará a imagem via <cfhttp>.

Explicação detalhada:

Em seu código, coloque a seguinte tag <img>:


<img src="pegaImagem.cfm?imagemUrl=#myQuery.imagemURL#" width="150" border="0" />

No template pegaImagem.cfm, voce coloca o seguinte snippet:


<cfprocessingdirective suppressWhitespace="true">
<cfparam name="url.imagemURL" value="" />
<cftry>
     <cfhttp url="#url.imagemUrl#" result="imageData"></cfhttp>
    <cfcontent type="#imageData.mimeType#" variable="#imageData.fileContent.toByteArray()#" />
    <cfcatch type="any">
        <cfcontent type="image/jpg" file="#expandPath('./default.jpg')#" deletefile="false" />
    </cfcatch>
</cftry>

Caso haja algum problema na recuperação da imagem, a tag <cfcatch> fará com que sua imagem default seja exibida.

Ricardo Parente

Permanent link to this article: http://ensina.me/coldfusion/como-exibir-uma-imagem-proveniente-de-um-server-remoto/

Leave a Reply