我创建了一个在线应用程序,只要有人上传了简历,该应用程序就能正常工作。如果简历是可选的,我们现在有可用职位,但是如果没有任何文件,则系统会报错。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