我創建了一個在線應用程序,只要有人上傳了簡歷,該應用程序就能正常工作。如果簡歷是可選的,我們現在有可用職位,但是如果沒有任何文件,則系統會報錯。ColdFusion cffile upload - 可選
我試過IsDefined和StructKeyExists,無法讓它工作。任何建議,不勝感激...
<cfset destination = expandPath("./uploads")>
<cfif IsDefined('form.submitapp')>
<cfif IsDefined("form.uploadfile")>
<cffile action="upload" filefield="uploadfile" destination="#destination#" nameConflict="makeUnique">
<cfif isDefined("CFFILE.serverFile")>
<cfset form.resume = CFFILE.serverFile>
</cfif>
</cfif>
<cfinsert tablename=...
分享你的表格代碼。始終分享您的表單代碼。你有一個cfparam for form.submitapp和form.uploadfile嗎?如果是這樣,那可能是你的問題。 – 2014-10-07 20:27:40
另外,請記住「空」是一個不同於「未定義」的概念。大多數(不是全部)表單字段將被提交,無論它們是否包含值。這意味着他們*將*在操作頁面上定義。他們將只有一個空字符串的值,即「」。像'structKeyExists'這樣的函數不檢查字段*值*。他們檢查一個字段是否被定義。因此,請確保您使用正確的比較作業。 – Leigh 2014-10-07 21:40:38
您使用cfinsert而不是cfquery的事實會降低處理可選表單字段等事務的靈活性。 – 2014-10-08 00:26:28