5

我正在尝试将加载的图像(jpg)转换cfhttp为二进制数据。我不能使用cffile action="readBinary",因为它不是本地文件。

4

2 回答 2

14

以下是我处理这个问题的方法,我每天使用它来使用 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 个状态代码,是否是图像等),但这应该让你开始。

于 2009-10-08T12:12:56.077 回答
5

我已经完成了以下似乎可行的操作:

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

<cfreturn resp.fileContent.toByteArray() />
于 2009-10-08T10:28:04.667 回答