让我在顶部说,我不确定我是否真正理解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#" />
然后我得到属性验证错误。
有什么想法吗?
答案 0 :(得分:4)
如果你考虑一下 - 这是有道理的。图像变量不是 ColdFusion中的二进制数据。虽然他们可能存储二进制数据, ColdFusion以新的“Image”变量类型包装数据。
如果您使用的是CF9,您可以先尝试将图像写入RAM://
驱动器,提供服务并从RAM中删除。