【问题标题】:Convert an image from CFHTTP filecontent to binary data with Coldfusion使用 Coldfusion 将图像从 CFHTTP 文件内容转换为二进制数据
【发布时间】:2009-10-08 10:04:59
【问题描述】:

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

【问题讨论】:

  • Railo 传福音的一点点,回复:“我不能使用 cffile action="readBinary",因为它不是本地文件。” - 在 Railo 中,您可以将 cffile 用于任何文件,甚至跨 http 和 ftp。 :)

标签: image coldfusion binary cfhttp


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我们如何将resp.fileContent.toByteArray() 写入文件?我的意思是如何将二进制数据写入文件?
    • 使用 Lucee 你可以只使用 resp.fileContent 因为这会返回一个真正的字节数组
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2018-11-03
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    相关资源
    最近更新 更多