这是一个奇怪的,至少对我来说。我正在将图像读入 cf 图像变量并将其保存为会话变量:
<cfimage action="read" source="myPath/image.jpg" name="myImage" />
<cfset session.image = #myImage# />
我计划在某个时候操作该图像,这就是我将其保存到变量的原因。无论如何,然后我用 cfcontent 流式传输它:
<img id="photoPlaceholder" src="/#application.root_name#/administration/PhotoManagement/displayPhoto.cfm" width="500px" />
来自模板 displayPhoto.cfm:
<cfcontent variable="#imageGetBlob(session.image)#" />
这就是问题所在。在第一次调用之后,无论将哪个新图像传递给它,都会显示第一个检索到的图像。我尝试在 cfimage 标记之前销毁会话变量,并且我已经验证我每次都传递了正确的图像变量。显示新图像的唯一方法是刷新页面。
在我看来,cfimage 以某种方式缓存了图像,并且每次对它的新调用都不会刷新变量 myImage。CF 文档对此只字未提,谷歌也一无所获。
想法?