Я пытаюсь преобразовать изображение (jpg), загруженное через cfhttp
, в двоичные данные. Я не могу использовать cffile action="readBinary"
, так как это не локальный файл.
Преобразование изображения из файлового содержимого CFHTTP в двоичные данные с помощью Coldfusion
comment
Небольшой отрывок из евангелизации Railo, на тему: я не могу использовать cffile action=readBinary, так как это не локальный файл. - в Railo вы можете использовать cffile для любого файла, даже через http и ftp. :)
- person Peter Boughton   schedule 09.10.2009
Ответы (2)
Вот как я с этим справляюсь, и я использую это для захвата и обработки сотен изображений в день с помощью 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 кодов состояния, это изображение и т. д.), но это должно помочь вам начать.
person
Dan Short
schedule
08.10.2009
Я сделал следующее, что, кажется, работает:
<cfhttp url="http://foo.com/someImage.jpg" method="get" timeout="3" result="resp">
</cfhttp>
<cfreturn resp.fileContent.toByteArray() />
person
DEfusion
schedule
08.10.2009
Как мы можем записать
resp.fileContent.toByteArray()
в файл? Я имею в виду, как записать двоичные данные в файл?
- person rrk; 06.12.2016
используя Lucee, вы можете просто использовать resp.fileContent, так как это возвращает истинный массив байтов
- person user2677034; 05.11.2018