我正在尝试将要上传的所选文件的文件名存储到表单上的隐藏输入字段中。我的表格看起来像这样
<form id="uploadattachment" enctype="multipart/form-data"
method="post" action="/governance/attachmentfilestore">
<cfif isDefined("fileUpload")>
<cffile action="upload"
fileField="fileUpload"
accept="application/pdf"
nameconflict="makeunique"
destination="#ExpandPath( '/files/governance/upr/' )#">
<input type="hidden" name="filename" id="filename" value="">
<input type="hidden" readonly id="uprUUID" name="uprUUID"
style="width: 400px" value="<cfoutput>#params.key#</cfoutput>"/>
<input type="hidden" readonly id="status" name="status"
style="width: 400px" value="1"/>
<input name="fileUpload" type="file" style="width: 200px;" />
<button type="submit" name="action"
class="submitBtn primary rightSubmitBtnSpace">Upload</button>
</form>
然后将其发送到将其写入数据库的控制器,但是我无法找到一种方法来获取要存储在“文件名”字段中的文件名。
有没有人有关于如何使用选择要上传的文件的名称填充字段的解决方案?
我已经添加了 CFFILE.serverFile 并且它工作了一次,但我猜那是因为它抓住了以前上传的文件名。
现在加载页面时,我得到的 Serverfile 在 CFFILE 中未定义,因此它不允许我使用文件名填充表单。
我的代码现在看起来像这样,可以尝试解决它,但它似乎也不起作用。
<cfif isDefined("CFFILE.serverFile")>
<cfset form.filename = CFFILE.serverFile>
<cfelse>
<cfset form.filename = "null">
</cfif>
<input type="hidden" name="filename" id="filename"
value="<cfoutput>#CFFILE.serverFile#</cfoutput>"/>