我正在尝试将通过cfhttp
加载的图片(jpg)转换为二进制数据。我不能使用cffile action="readBinary"
,因为它不是本地文件。
答案 0 :(得分:13)
以下是我处理此问题的方法,并使用它来使用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个状态代码,是图像等),但这应该让你开始。
答案 1 :(得分:5)
我做了以下似乎有效:
<cfhttp url="http://foo.com/someImage.jpg" method="get" timeout="3" result="resp">
</cfhttp>
<cfreturn resp.fileContent.toByteArray() />