0

我从来没有使用过cffile上传。在查看文档时,我看到要上传的文件被描述为

用于选择文件的表单域的名称。不要使用数字符号 (#) 来指定字段名称。

我只是无法破译这个。如果要上传的文件是 john.jpg,驻留在用户的磁盘上,我如何在 cffile 命令中指明?

我还有其他问题,但想从这个非常基本的问题开始。

4

2 回答 2

1

您使用的是什么文档?应该有一个像这里这样的例子:<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,它包含从用户计算机上载的文件的名称。

于 2016-07-15T18:58:17.473 回答
0

对于 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

于 2016-09-29T18:51:17.733 回答