2016-06-23 8 views
0

coldfusionを使用してギャラリーに表示する画像が少なくとも100枚埋め込まれています。私は、ディレクトリをループし、イメージフォルダ内のイメージの絶対パスを取得することができました。しかし、私はHTMLのimgタグに絶対パスを渡すのに問題があります。私もcfimageタグを使ってみましたが、失敗しました。ここに私のコードです。coldfusionでフォトギャラリーを動的に作成する

<body> 
<cfinclude template="header.cfm" > 
<cfdirectory action="list" directory="C:\ColdFusion2016\cfusion\wwwroot\project\img" name="listRoot">  
<cfoutput query="listRoot"> 
    <cfset myPath= expandpath(#listRoot.NAME#)>  
    <!---#listRoot.Name#<br>--->    
    <b>File Path : </b> #myPath# <br> 
    <img src=#myPath#> 
    <!---<cfimage action="info" source="#myPath#" structname="stInfo" > 
    <cfdump var="#stInfo#" label="Photo Info">---> 
</cfoutput> 
</body> 
+1

何がうまくいかないと説明できますか? 'myPath'は間違っていますか? – WillardSolutions

答えて

2

なぜファイルシステムパスが必要ですか?必要に応じて、ファイル名を出力し、ディレクトリにsrcを付加してください。

<cfdirectory action="list" directory="C:\ColdFusion2016\cfusion\wwwroot\project\img" name="listRoot">  
<cfoutput query="listRoot"> 
    <img src="/project/img/#name#"> 
</cfoutput> 
+0

ありがとうございます。私は物事をもっと複雑にしていなければならないと思った。私は画像を取得するために絶対パスを持つ必要があると思った。再度、感謝します。 –

+0

@ user3426338 - 絶対パスでもかまいませんが、C:\ ColdFusion2016 \ cfusion \ wwwroot \の代わりに物理ファイルパス、つまり '/'(Webルート)ではなくURLでなければなりません。つまり、物理ファイルパスは ''でうまく動作するはずです。ヒント:物理パスが期待どおりに機能していない場合は、FileExists()やDirectoryExists()などの関数を使用して実際のパスの値を確認してください。 – Leigh

+0

そして、そのパッチがあれば、photoswipe(photoswipe.com)のようなものを使って、すべての画像の場所を渡すこともできます。それはまたあなたが場所を渡すイメージに基づいてあなたのための非常に素晴らしいフォトギャラリーを作成することができます。 – Computerman1597

関連する問題