Coldfusion CFFILE-使用组件上载文件

Coldfusion CFFILE-使用组件上载文件,coldfusion,cffile,Coldfusion,Cffile,我有一个表单,我想提交给一个组件进行处理(CRUD行为),问题是将多部分/表单数据传递给一个组件似乎会以某种方式丢失文件位置。当它到达应该上传文件的组件部分时,我得到的臭名昭著的表单字段没有包含文件错误 我不能100%确定为什么会发生这种情况,但是如果我直接将表单提交到执行cffile操作的.cfm页面,一切都会按预期工作,但是如果.cfm页面执行以下操作: <cfobject name="process_form" component="processor" /> <cfse

我有一个表单,我想提交给一个组件进行处理(CRUD行为),问题是将多部分/表单数据传递给一个组件似乎会以某种方式丢失文件位置。当它到达应该上传文件的组件部分时,我得到的臭名昭著的表单字段没有包含文件错误

我不能100%确定为什么会发生这种情况,但是如果我直接将表单提交到执行
cffile
操作的.cfm页面,一切都会按预期工作,但是如果.cfm页面执行以下操作:

<cfobject name="process_form" component="processor" />
<cfset result = process_form.upload( form ) />
<cffile action="upload" filefield="file_1" ...>
如果我在变量周围加上#符号,我得到:

The form field C:\JRun4\servers\cfusion\SERVER-INF\temp\cfusion-war-tmp\neotmp7350969777287007477.tmp did not contain a file. 
你知道如何解决这个问题吗?我宁愿将所有的处理操作都放在一个组件中,但现在我似乎无法做到这一点

谢谢!
Will

当使用
cffile
标记时,您不需要使用完整的变量名——您只需要表单字段名,如下所示:

<cfobject name="process_form" component="processor" />
<cfset result = process_form.upload( form ) />
<cffile action="upload" filefield="file_1" ...>


应该足够了。
FORM
struct字段保存临时文件的位置,但cffile标记不需要它(我希望id根据您提供的字段名直接访问后端的
FORM
struct)。

,我是个白痴,没有看我复制和粘贴的东西。您只需使用字段名,
file\u 1
。我已经修正了原来的答案。很抱歉耽误了回到这个问题。你说得对!回答得很好。我不确定“file_1”字段如何仍然在范围内,但它似乎可以工作。再次感谢你,很高兴你成功了。诀窍在于,实际上并不是将实际值传递给
cffile
标记,而是传递表单字段的字符串名称。