Question

I'm trying to use Coldfusions CFimage tag and Photoswipe.

My problem is, Photoswipe requires images to be set up like this:

<a class="swipeMe" rel="external" href="#myImage#">
   <cfimage source="#myImage#" action="writeToBrowser" class="adaptImg ui-li-thumb">
</a>

So I need the url for the link href and cfimage tag.

If I parse this, the img source will be

src="/CFFileServlet/_cf_image/_cfimg5722874764512027443.PNG"

while the link href turns out to be:

href="coldfusion.image.Image@1adaa15"

Which breaks the photoswipe plugin, because the image can't be found.

Question:
Is there a way in Coldfusion8 to display the actual image path in the href, so the image can be linked to?

Thanks for help!

Was it helpful?

Solution

You can use regex to parse out the URL, or use <cfxml> like Ben Nadel did:

<!---
    Write the image to the output. Except, rather than writing it
    to the screen, write it to an XML data buffer.
--->
<cfxml variable="imageXml">

<!--- Let IMG be the only tag in this XML document. --->
<cfimage
    action="writetobrowser"
    source="#girlsFighting#"/>

</cfxml>


<!---
    At this point, our XML object should have one tag - IMG - from
   which we can extract the SRC attribute as the temporary image
    path on the CFImage file servlet.
--->
<cfset imageSrc = imageXml.xmlRoot.xmlAttributes.src />


<!--- Output the temporary image src: --->
<cfoutput>
    SRC: #imageSrc#
</cfoutput>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top