Я пытаюсь получить изображение с URL-адреса и сохранить его на локальном компьютере, используя 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 :. Это правильный способ сохранить образ на диск? Спасибо всем

0
user747291 16 Июл 2014 в 22:58

2 ответа

Лучший ответ

Используйте imageWrite() https://wikidocs.adobe.com/wiki/display/coldfusionen / ImageWrite

Итак, для вашего примера вместо использования cffile вы должны использовать

<cfset imageWrite(myImage, "c:\test_myImage.jpg") />
1
Sean Coyne 16 Июл 2014 в 19:55

Источником для imageNew может быть URL, поэтому в этом случае нет необходимости в cfhttp.

<cfset newImage = imageNew( "http://domain/images/cme_recorder_on.png" )>
<cfset imageWrite(newImage, "c:\test_myImage.jpg")>
4
Edy Ionescu 17 Июн 2015 в 16:09