我似乎在操纵我的CFC中的照片时遇到了问题。我收到一个错误,说它在尝试读取图像时遇到异常。所以问题非常简单,在CFC中操作文件有什么问题,而不是CFM吗?
<cffunction name="imageResize" access="public" returntype="boolean">
<cfargument name="filename">
<cfset result = "true">
<cfimage
action = "resize"
source = "#root#/documents/uploads/PHOTOS/#filename#"
width = "400px"
height = ""
destination = "#root#/documents/uploads/PHOTOS/thumbs/#filename#"
overwrite = "yes"></cfimage>
<cfreturn result>
</cffunction>
由于
答案 0 :(得分:4)
在cfc中使用cfimage没有问题。这是我一直在做的事情。
我怀疑你遇到的问题是你的函数中的变量“root”是未知的。您可能还应该对结果变量进行变量范围,并指定使用filename变量的范围。
答案 1 :(得分:1)
我发现你的代码存在很多问题并且已经纠正了它们并且工作正常。 以下是问题。
函数名'imageResize'需要更改为其他名称,因为您提供的函数名称是现有的coldfusion函数。
cfimage tage中的width属性需要有一个像420而不是420px的整数。
来源&amp; cfimage标记中的目标属性需要具有类似'D:\ projects \ test'的绝对路径,而不是'/ test / images'。
仅供参考:你在代码中提到的'root'变量应该可以在函数中访问。
以下是经过纠正的代码。
<cffunction name="imageResize2" access="public" returntype="boolean">
<cfargument name="filename">
<cfset result = "true">
<cfimage
action = "resize"
source = "D:\Projects\Test\images\#filename#"
width = "400"
height = ""
destination = "D:\Projects\Test\temp\#filename#"
overwrite = "yes" />
<cfreturn result>
</cffunction>
是的,在cfc中处理文件/图像没有问题。上面的代码在cfs和cfm中都有效。