我从来没有使用过cffile上传。在查看文档时,我看到要上传的文件被描述为coldfusion cffile上传如何描述要上传的文件
用于选择文件的表单字段的名称。 请勿使用数字符号(#)指定字段名称。
我只是不能破译这个。如果要上传的文件是驻留在用户磁盘上的john.jpg,如何在cffile命令中指出?
我还有其他问题,但想从这个非常基本的开始。
我从来没有使用过cffile上传。在查看文档时,我看到要上传的文件被描述为coldfusion 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
,其中包含从用户计算机上传的文件的名称。
谢谢你的解释 - 我开始明白了。但是,我想上传的文件john.jpg的名称在哪里? –
在我的答案中看到最后一行?该文件的名称不存在于您可以访问的任何表单字段变量的值中。它包含在上传的文件内容中,您可以使用变量cffile.clientFile进行访问,该变量仅在运行CFFILE上载文件后才存在。 –
Adrian,我搞砸了代码,发现自己要上传的文件是在type = file生成的浏览按钮中指定的。如果文件说明的话,这将会有所帮助。无论如何,它现在都在运作。你的帮助表示赞赏 –
对于CFFILE命令:
<cffile action = "upload"
fileField = "FileContents"
destination = "c:\files\upload\"
accept = "text/html"
nameConflict = "MakeUnique"
result = "thisResult">
...你可以使用#thisResult.clientFile#得到原始文件名。 所有其他字段也可以使用这个。
这应该是一条评论。虽然“迟到”答案总是受欢迎,但它们应该通过[提供新信息]为线索增加价值(http://meta.stackoverflow.com/a/299678/104223)。以上内容已经在[现有答案](http://stackoverflow.com/a/38403347/104223)中介绍过。 – Leigh
你有没有看着不包括实例文档? –
哦,它确实,但他们没有解释什么:fileField =“FileContents” - 什么可能是“FileContents”? –