文件上传后,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>
答案 0 :(得分:9)
我解决了这个问题,它很微妙,但容易被忽视。
cffile标记的fileField属性只是询问文件输入的名称,而不是生成的Coldfusion FORM变量。
错:
<cffile action="upload" fileField="#form.myImage#" ...
右:
<cffile action="upload" fileField="myImage" ...
答案 1 :(得分: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">
所有人都很笨拙!说实话,我不知道为什么,只是要注意的事情。