从图像中流出cfcontent?

时间:2011-09-08 18:19:24

标签: coldfusion cfimage

让我在顶部说,我不确定我是否真正理解cfcontent正在做什么......所以如果这是一个愚蠢的问题请耐心等待。

我一直在使用cfcontent将我的网络根目录之外的图像流式传输到浏览器。我已经决定我现在想要将图像存储在变量中,显示它,能够修改它,查看这些修改,并且只有在我确定我喜欢这些更改时才提交已更改的变量。我想我可以使用cfcontent以某种方式从变量中流式传输图像,然后显示,修改,重新显示并从变量中保存该图像。我的原始代码很简单:

<img id="photoPlaceholder" 
    src="/#application.root_name#/administration/PhotoManagement/displayPhoto.cfm?thisImage=#thisImage#" 
    width="500px" />

和displayPhoto.cfm包含:

<cfcontent type = "image/*" 
    file = "myPathName" 
    deleteFile = "No" />

我看到我可以将文件读入变量并从该变量中流式传输:

<cffile action="readBinary" file="myPathName" variable="fileObject" />
<cfcontent type="image/*" variable="#fileObject#" />

但如果我采用

创建图像的中间步骤
<cfimage source="fileObject" name="myImage" />
<cfcontent type="image/*" variable="#myImage#" />

然后我得到属性验证错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

ImageGetBlob()?

  

如果你考虑一下 - 这是有道理的。图像变量不是   ColdFusion中的二进制数据。虽然他们可能存储二进制数据,   ColdFusion以新的“Image”变量类型包装数据。

http://www.coldfusionjedi.com/index.cfm/2007/9/14/Serving-up-CFIMages-via-Image-Tags-and-a-NonCF-Friday-contest

如果您使用的是CF9,您可以先尝试将图像写入RAM://驱动器,提供服务并从RAM中删除。