Преобразование изображения из содержимого файла CFHTTP в двоичные данные с помощью Coldfusion - PullRequest
4 голосов
/ 08 октября 2009

Я пытаюсь преобразовать изображение (jpg), загруженное через cfhttp, в двоичные данные. Я не могу использовать cffile action="readBinary", так как это не локальный файл.

Ответы [ 2 ]

13 голосов
/ 08 октября 2009

Вот как я это делаю, и я использую это для захвата и обработки сотен изображений в день с ColdFusion 8.

<cfhttp
    timeout="45"
    throwonerror="false"
    url="http://domain/image.jpg"
    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 local.objImage = ImageNew(local.objGet.FileContent)>

Если у вас есть объект изображения, вы можете делать с ним все, что захотите. Сохраните его на диск, измените размер, назовите его :). Я, очевидно, не учел всю свою проверку ошибок (200 кодов состояния, это изображение и т. Д.), Но это должно помочь вам начать.

5 голосов
/ 08 октября 2009

Я сделал следующее, что, кажется, работает:

<cfhttp url="http://foo.com/someImage.jpg" method="get" timeout="3" result="resp">
</cfhttp>

<cfreturn resp.fileContent.toByteArray() />
...