cfhttp获取图像并保存到磁盘

时间:2014-07-16 18:58:46

标签: image coldfusion

我正在尝试从网址获取图片并使用cfhttp将其保存到本地。如下所示。

<cfhttp
    timeout="45"
    throwonerror="false"
    url="http://domain/images/cme_recorder_on.png"
    method="get"
    useragent="Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"
    getasbinary="yes"
    result="local.objGet"
>

<cfset myImage = ImageNew(local.objGet.FileContent)>

<cfif (FindNoCase( "200", local.objGet.Statuscode ) AND FindNoCase( "image", local.objGet.Responseheader["Content-Type"]
        ))>   
      <cfoutput>this is an image</cfoutput>
       <cffile file="#myImage#" action="write" output="c:\test_myImage.jpg"> 
<cfelse>
     <cfabort>   
</cfif>

我尝试使用cffile write将图像保存到本地。我没有看到任何图像被写入c:。这是将图像保存到磁盘的正确方法吗?谢谢大家

2 个答案:

答案 0 :(得分:4)

imageNew的来源可以是网址,因此在这种情况下不需要cfhttp

<cfset newImage = imageNew( "http://domain/images/cme_recorder_on.png" )>
<cfset imageWrite(newImage, "c:\test_myImage.jpg")>

答案 1 :(得分:1)

使用imageWrite() https://wikidocs.adobe.com/wiki/display/coldfusionen/ImageWrite

因此,对于您的示例,您将使用

而不是使用cffile
<cfset imageWrite(myImage, "c:\test_myImage.jpg") />