好的,这是蹩脚的,但我有一个文件/ ftp服务器,为我的Web应用程序提供资源。在我启动应用程序之前,客户端设置了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>
第一张图片显示在服务器上,第二张图片没有显示。
知道我做错了吗?
答案 0 :(得分: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>
代码未经测试,但我认为它应该可行,或者至少能让你很好地掌握路径出错的地方(万一你是这样)