Coldfusion 在CFC噩梦中使用CFFILE

Coldfusion 在CFC噩梦中使用CFFILE,coldfusion,cffile,Coldfusion,Cffile,我知道有人问过这个问题,但我似乎找不到有效的解决办法 我有一个CFM页面,它使用以下内容将数据传递给CFC <cfinvoke component="common.cfcs.geotrails" method="UpdateGeoTrail"> <cfinvokeargument name="title" value="#form.title#"/> <cfinvokeargument name="Description_short" value="#form.D

我知道有人问过这个问题,但我似乎找不到有效的解决办法

我有一个CFM页面,它使用以下内容将数据传递给CFC

<cfinvoke 
component="common.cfcs.geotrails"
method="UpdateGeoTrail">
<cfinvokeargument name="title" value="#form.title#"/>
<cfinvokeargument name="Description_short" value="#form.Description_short#"/>
<cfinvokeargument name="Description" value="#form.description#"/>
<cfinvokeargument name="GTID" value="#form.gtid#"/>
<cfinvokeargument name="CatID" value="#form.catid#"/>
<cfif structKeyExists(form,"fileUpload") and len(form.fileUpload)>
<cfinvokeargument name="fileUpload" value="#form.fileUpload#"/>
</cfif>
</cfinvoke>
在接收数据的CFC中,我按照

但我仍然收到可怕的错误信息

表单字段/data/disk01/opt/coldfusion9/runtime/servers/coldfusion/SERVER-INF/temp/wwwroot tmp/neotmp50038328520713802.tmp不包含文件

如果我按照StackExchange的指示去做

它通过时没有错误,但显示:[空字符串]

我错过了什么

谢谢


Phil

我知道它不是您的cfc的一部分,但您是否确保表单设置了enctype

<cfform action="/upload.cfm" enctype="multipart/form-data">

通过删除cffile作用域,我可以让它工作。

删除并再次尝试底部标记。绝对正确。食谱是错的。事实上,食谱条目没有错。它表示需要传入表单字段的名称,而不是表单字段的值。你的cfinvoke做错了。将value=form.fileUpload更改为value=form.fileUpload您应该变量scope tempmediapath和mediapath。我想我宁愿使用cffile的result属性来指定我自己的var作用域结构,而不是var作用域内置的cffile作用域。@Raymond Camden你能发表你的评论作为答案吗?
<cffile action="upload"
filefield="fileUpload"
destination="#TempMediaPath#"
nameconflict="makeunique">
<cfform action="/upload.cfm" enctype="multipart/form-data">