1

文件上传后,Coldfusion 8 返回:C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\neotmp12429.tmp 不包含文件。有谁知道这可能是什么原因?语法不好?服务器权限?缺少碎片?

我的 cfform 标签如下所示:

<cfset myPath = "path to my folder">
<cfset mimeTypesList = "list of mime types I can accept">

<cfif structKeyExists(FORM, "submit")>
    <cffile action="upload" fileField="#form.myImage#" destination="#myPath#"
accept="#mimeTypesList#" nameConflict="MakeUnique">
</cfif>

<cfform name="myForm" format="html" action="#cgi.SCRIPT_NAME#" method="post" enctype="multipart/form-data">
<cfinput type="file" name="myImage" accept="image/jpg,image/gif,image/pjpeg">
<cfinput type="submit" name="submit" value="submit">
</cfform>
4

2 回答 2

9

我解决了这个问题,它很微妙,但很容易被忽视。

cffile 标记的 fileField 属性只是询问文件输入的名称,而不是生成的 Coldfusion FORM 变量。

错误的:

<cffile action="upload" fileField="#form.myImage#" ...

正确的:

<cffile action="upload" fileField="myImage" ...
于 2009-12-09T01:16:11.683 回答
0

上面的答案是正确的,但只是想补充一下,以防有人解决了我的相关问题。

我原来的图片上传代码是这样的;

<cfobject component="#session.components#files" name="files">
<cfset url_file_path = files.uploadImage(file_upload)>

这导致了标题中提到的类似错误(C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\neotmp12429.tmp)。

当我将代码更改为;

<cfinvoke component="#session.components#files"
method="uploadImage"
formField = "file_upload" 
returnvariable = "url_file_path">

一切都很棒!老实说,我不知道为什么,只是需要注意一些事情。

于 2012-07-06T09:18:31.047 回答