Domanda

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!

È stato utile?

Soluzione

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top