我正在尝试将“文件”类型的表单字段传递给 CFFUNCTION。参数类型是“任何”。这是我尝试使用的语法(伪代码):
<cfloop from="1" to="5" index="i">
<cfset fieldname = "attachment" & i />
<cfinvoke component="myComponent" method="attachFile">
<cfinvokeargument name="attachment" value="#FORM[fieldname]#" />
</cfinvoke>
</cfloop>
循环正在完成,因为有五个名为“attachment1”、“attachment2”等的表单字段。
这会在函数中引发异常:
coldfusion.tagext.io.FileTag$FormFileNotFoundException: The form field C:\ColdFusion8\...\neotmp25080.tmp did not contain a file.
但是,此语法确实有效:
<cfloop from="1" to="5" index="i">
<cfinvoke component="myComponent" method="attachFile">
<cfinvokeargument name="attachment" value="FORM.attachment#i#" />
</cfinvoke>
</cfloop>
我不喜欢在第二个示例中编写这样的代码。这对我来说似乎是不好的做法。
那么,谁能告诉我如何使用结构语法将文件类型表单字段正确传递给 CFFUNCTION?