coldfusion
如何在Coldfusion中上传文件使用cffile标记将文件上传到服务器。
请注意,允许人们上传文件充满了危险,应仅允许受信任的用户上传文件。 应该进行检查以确保仅上传允许的文件类型。
客户端首先,让我们与客户端打交道。 这假定您具有一些HTML知识。
您需要在表单中包括一个输入文件字段,使用POST方法,并将MIME编码从默认值“ application / x-www-form-urlencoded”设置为“ multipart / form-data”。
[HTML] <表单名称=“ uploadform” action =“ actionpage.cfm” method =“ POST” enctype =“ multipart / form-data”>
<input type =“ file” name =“ uploadfile”>
<input type =“ submit” name =“ uploadsubmit” value =“上传”>
</ form> [/ HTML]
这是文件上传的三个基本客户端组件。
服务器端现在到服务器端。 这假定了Coldfusion的一些基本知识。
您将需要使用
cffile标记(语法如下所示):<cffile
action = "upload"
fileField = "formfield"
destination = "full_path_name"
nameConflict = "behaviour"
accept = "mime_type" or "file_type"
mode = "permission"
attributes = "file_attribute_or_list"
result = "result_name">
仅前三个属性是必需的,其余均为可选。
最后一个属性是在Coldfusion MX 7中添加的。下面的代码演示了此标记的用法示例:
<cffile
action = "upload"
fileField = "uploadfile"
destination = "c:\Inetpub\wwwroot\uploads"
nameConflict = "overwrite">
cffile标记可用于与服务器文件进行交互,但是我们对上载感兴趣,因此我们将action属性设置为上载。
fileField属性必须与表单中定义的文件输入字段相对应。
目标应该是服务器上目录的绝对路径。
如果未指定绝对路径,则目标路径将相对于您可以通过GetTempDirectory()获得的Coldfusion temp目录。
的
nameConflict属性是可选的,但如果已经存在具有相同名称的文件,则应指定该属性。 在这种情况下,您有四个选项: 错误 :显示错误消息,页面处理被中止。 跳过 :文件未上传,但没有错误消息。 覆盖 :服务器上具有相同名称的文件将被覆盖。 Makeunique :文件已上传并具有唯一名称。您可以使用
accept属性可以限制允许用户上传的文件类型,例如,仅允许GIF,JPG和PNG,可以使用:accept="image/gif,image/jpg,image/png"
一些可选属性
如果不需要设置文件属性,则可以跳过此部分。
最后三个属性是
模式 , 属性和结果 。 模式可让您设置Unix / Linux上的读/写/执行文件权限。 属性允许您设置文件是只读(只读),隐藏还是普通(在Windows上)。 必须显式设置每个属性,否则它们将被覆盖。 result允许您为包含结果参数的变量使用cffile以外的前缀,例如,如果您将此结果参数设置为cfresult,则表示上传文件的大小,而不是cffile.fileSize
你会用
cfresult.fileSize
例
好的,现在举个例子。 我们的示例将表单发送到我们称为UploadFile.cfm的同一页面。
<cfif isDefined("form.uploadfile")>
<cffile
action = "upload"
fileField = "uploadfile"
destination = "c:\Inetpub\wwwroot\uploads"
nameConflict = "overwrite">
<cfelse>
<form name="uploadform" action="UploadFile.cfm" method="POST" enctype="multipart/form-data">
<input type="file" name="uploadfile">
<input type="submit" name="uploadsubmit" value="Upload">
</form>
</cfif>
翻译自: https://bytes.com/topic/coldfusion/insights/591811-how-upload-file-coldfusion
coldfusion