CFC里面的Cfimage

时间:2012-05-31 17:49:36

标签: coldfusion cfc cfimage

我似乎在操纵我的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>

由于

2 个答案:

答案 0 :(得分:4)

在cfc中使用cfimage没有问题。这是我一直在做的事情。

我怀疑你遇到的问题是你的函数中的变量“root”是未知的。您可能还应该对结果变量进行变量范围,并指定使用filename变量的范围。

答案 1 :(得分:1)

我发现你的代码存在很多问题并且已经纠正了它们并且工作正常。 以下是问题。

  1. 函数名'imageResize'需要更改为其他名称,因为您提供的函数名称是现有的coldfusion函数。

  2. cfimage tage中的width属性需要有一个像420而不是420px的整数。

  3. 来源&amp; cfimage标记中的目标属性需要具有类似'D:\ projects \ test'的绝对路径,而不是'/ test / images'。

  4. 仅供参考:你在代码中提到的'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中都有效。