提问人:Dunn 提问时间:10/27/2023 更新时间:10/27/2023 访问量:38
上传抛出文件不包含文件错误
upload throwing file does not contains a file error
问:
我有一个非常简单的代码来上传文件
<form method="post" action="upload.cfm" enctype="multipart/form-data">
<table>
<tbody>
<tr>
<td><input type="file" name="uploadFile" id="uploadFile"></td>
</tr>
<tr>
<td><input type="submit" name="Upload" id="Upload" value="Upload"></td>
</tr>
</tbody>
</table>
</form>
我的上传.cfm为:
<cfif isDefined('form.upload')>
<cfset results = uploadAndInsertData('#FORM.uploadFile#')>
</cfif>
上传和插入功能为;
<cffunction name="uploadAndInsertData" access="public" returntype="any">
<cfargument name="uploadedFile" type="any" required="true">
<cfset targetFolder = ExpandPath('documents')>
<cfset success = true>
<cfset cffile = UploadFile(
FileField = "uploadedFile",
destination = "#targetFolder#"
)>
<cfset fileContent = fileRead("#targetFolder##uploadedFile#")>
</cffunction>
UploadFile 是来自 cflib.org 的一个函数
https://cflib.org/udf/uploadFile
它不断给我一个错误,
表单字段 uploadedFile 不包含文件。
20 :
21 : <!--- Upload to temp directory. --->
22 : <cffile action="upload" filefield="#Arguments.FileField#" destination="#Arguments.TempDirectory#" nameconflict="MakeUnique">
23 : <cfset tempPath = ListAppend(cffile.ServerDirectory, cffile.ServerFile, "\/")>
24 :
答:
4赞
rrk
10/27/2023
#1
问题出在您传递给函数的方式上。FileField
UploadFile
FileField
应该是您的名称。input[type="file"]
uploadFile
<cfset cffile = UploadFile(
FileField = "uploadFile", <-----
destination = "#targetFolder#"
)>
除此之外,您不需要调用,也无需将其传递给函数,只需执行即可。uploadAndInsertData('#FORM.uploadFile#')
uploadAndInsertData()
<cffile aciton="upload">
根据字段名称自动获取表单字段。
您需要更改
<cfset fileContent = fileRead("#targetFolder##uploadedFile#")>
自
<cfset fileContent = fileRead("#targetFolder##cffile.serverFIlename#")>
评论