1

さて、これは不十分ですが、Webアプリケーションのアセットを提供するfile/ftpサーバーがあります。アプリケーションを起動する前に、クライアントがftpサーバーをセットアップしました。

そのため、アプリに画像を表示するだけで問題なく動作します。クロスドメインなのに。これで、クライアントは、各テストのすべてのアセットを取得して、zipファイルにバンドルできるようにしたいと考えています。ああ、アップグレードされないので、CF7を使用しています!!

さて、画像のリストを作成し、それをループして、ループ内でcfhttp呼び出しを実行します。私が設定した一時ディレクトリに画像を書き込んでから、全体を圧縮します。cfhttp呼び出しを除いて機能します。最初の画像を取得し、その後何も取得しません。

<cfset imageList = "image_01.png,image_02.png" />   

<cfloop index="strImage" list="#imageList#" delimiters=",">
    <cfhttp method="GET" url="#theImgPath##strImage#" path="#TempPath##OSdelim#images" result="objGet" />
</cfloop>

最初の画像はサーバーに表示され、2番目の画像は表示されません。

私が何か間違ったことをしているのかどうか何か考えはありますか?

4

1 に答える 1

0

私は次のようなことを試してみます:

<!--- Lose the forward slash at the end, CF isn't XHTML --->
<cfset imageList = "image_01.png,image_02.png">   

<cfloop index="strImage" list="#imageList#" delimiters=",">
    <cfset fileName = strImage>
    <cfif not fileExists(TempPath & OSdelim & "images" & OSdelim & strImage)>
        <cfhttp method="get" getAsBinary="yes" url="#theImgPath##strImage#" path="#TempPath##OSdelim#images" file="#localfile#">
        downloading... <br />
    <cfelse>
        <cfoutput>#TempPath# #OSdelim# images #strImage# already exists</cfoutput><br />
    </cfif>
</cfloop>

コードはテストされていませんが、うまくいくはずだと思います。少なくとも、パスのどこが間違っているのかをよく把握できます(あなたがそうしている場合)

于 2012-11-28T21:58:26.510 に答える