我正在尝试将要上传的所选文件的文件名存储到表单上的隐藏输入字段中。我的表格看起来像这样
<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 is undefined in 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>"/>
文件上传后,文件名才可用。这会在表单发布后发生。解决这个问题的唯一方法是尝试通过 AJAX 发布文件上传,然后返回文件名。
否则,您可以在上传文件并发布表单后将值分配给该字段。
<cfset form.filename = CFFILE.serverfile>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)