我试图创建一个表单,用户在其中选择一个位置,然后用CFFILE ACTION ="UPLOAD"
上传一个文档。我不擅长这一点,所以你可以提供任何帮助将不胜感激。文件上传正在执行多次
以下是我的代码。本质上,有一个文件夹位置的下拉列表。用户首先选择其中一个位置。然后点击'浏览'选择一个文件。最后他们点击提交和文件上传。
代码是#dir#
是链接到每个位置名称的文件夹位置。目前发生的事情是,文档已成功上传...但它正在上传到所有文件夹位置,而不是从下拉列表中选择的位置。这里是我的代码:
docuploads.cfm
<cfquery name="getLocation">
SELECT *
FROM Locations
ORDER BY FolderName
</cfquery>
<form action="docuploads.cfm" method="POST" enctype="multipart/form-data" name="upload_form" id="upload_form">
<select name="folderID">
<option value="">--- Select Folder ---</option>
<cfoutput query="getLocation">
<option value="#FolderName#"">#FolderName#</option>
</cfoutput>
</select>
<cfoutput query="getLocation">
<CFIF IsDefined("form.upload_now")>
<CFIF structKeyExists(form, "ul_path") and len(form["ul_path"])>
<CFFILE ACTION="UPLOAD" FILEFIELD="ul_path"
DESTINATION="C:\Documents\#dir#\"
NAMECONFLICT="OverWrite">
<CFSET ClientFilePath = "#clientDirectory#\#clientFile#">
</CFIF>
</CFIF>
</CFOUTPUT>
<br /><br />
Click on the Browse button to select the file to Upload:<br>
<input type="file" name="ul_path" id="ul_path" style="height: 22px;width: 350px;" value=""><br><br>
<input type="submit" name="upload_now" id="upload_now" value="Submit" style="height: 22px;">
<input type="button" name="clear" value="Clear" style="height: 22px;">
<br /><br /><br />
</form>
我希望这是有道理的 - 任何人都可以摆脱对得到这个工作任何光线?
上传是'里面'这是一个循环,这就是为什么它上传到每一个位置。您需要将''拉出该块,并从用户的选择中指定##dir#'。 –
imthepitts
2013-04-26 19:13:18
如果这是完整的代码,那么循环是1问题,但未声明的变量将导致更多的错误。 – steve 2013-04-26 19:38:45
这些变量*在* cffile范围内定义。请参见[评估未覆盖的变量](http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec09af4-7fdf.html)。 @Jen - 也就是说,你应该确保范围避免无意的命名冲突。另外,您通常要使用'serverXXX'变量,即'cffile.serverFile','cffile.serverDirectory'(非客户端)。 – Leigh 2013-04-26 20:13:23