Coldfusion cfset和变量范围

时间:2011-08-05 14:26:22

标签: variables coldfusion scope scalar

我正在尝试这样做

<cfset noncooperativevariable = #serverfile#>

我得到一个未定义的服务器文件错误。当我尝试使用正确的变量范围时

<cfset noncooperativevariable = #CFFILE.serverfile#>

返回错误。

  

您试图将类java.lang.String类型的标量变量取消引用为具有成员的结构。

编辑:

<cffile action="upload" filefield="fileUpload" destination="#destination#" nameConflict="makeUnique" result="upload">
<cfset noncooperativevariable = #fileUpload.serverfile#>

1 个答案:

答案 0 :(得分:3)

使用cffile标记时,结果默认为变量范围中的 cffile 结构。因此,如果要使用以下代码上载文件:

<cffile action="upload" filefield="fileUpload" destination="#destination#" nameConflict="makeUnique" />

可以通过变量范围中的 cffile 结构访问结果。文件名将引用如下:

<cfset cooperativeVariable = cffile.serverfile />

在发布的代码段中,您使用的是'结果'属性,这会将您的cffile结果放在名为上传的结构中,而不是 cffile ,这样您就可以获得文件名如下:

<cfset cooperativeVariable = upload.serverfile />