我从来没有使用过cffile上传。在查看文档时,我看到要上传的文件被描述为
用于选择文件的表单域的名称。不要使用数字符号 (#) 来指定字段名称。
我只是无法破译这个。如果要上传的文件是 john.jpg,驻留在用户的磁盘上,我如何在 cffile 命令中指明?
我还有其他问题,但想从这个非常基本的问题开始。
我从来没有使用过cffile上传。在查看文档时,我看到要上传的文件被描述为
用于选择文件的表单域的名称。不要使用数字符号 (#) 来指定字段名称。
我只是无法破译这个。如果要上传的文件是 john.jpg,驻留在用户的磁盘上,我如何在 cffile 命令中指明?
我还有其他问题,但想从这个非常基本的问题开始。
您使用的是什么文档?应该有一个像这里这样的例子:<cffile action="upload">
在这个例子(我已经编辑过)中,它表明您没有引用用户选择的文件的名称,可以是任何东西,您引用了用于上传文件的表单字段的名称fileContents
.
<!--- Windows Example --->
<!--- Check to see if the Form variable exists. --->
<cfif structKeyExists(Form, "FileContents") >
<!--- If TRUE, upload the file. --->
<cffile action = "upload"
fileField = "FileContents"
destination = "c:\files\upload\"
accept = "text/html"
nameConflict = "MakeUnique">
<cfelse>
<!--- If FALSE, show the Form. --->
<form method="post" action=<cfoutput>#cgi.script_name#</cfoutput>
name="uploadForm" enctype="multipart/form-data">
<input name="FileContents" type="file">
<input name="submit" type="submit" value="Upload File">
</form>
</cfif>
该CFFILE
过程完成后,将在一个名为的结构中定义一组变量CFFILE
(请参阅文档链接)。这些变量之一是cffile.clientFile
,它包含从用户计算机上载的文件的名称。
对于 cffile 命令:
<cffile action = "upload"
fileField = "FileContents"
destination = "c:\files\upload\"
accept = "text/html"
nameConflict = "MakeUnique"
result = "thisResult">
...您将使用 #thisResult.clientFile# 来获取原始文件名。所有其他字段也可以使用它。
我在stackoverflow上找到了这个: ColdFusion ServerFile is undefined in CFFile