CFfile -- 值未设置为查询的数据
我有这个添加用户表单,它还可以通过查询数据并设置 value="#query.xvalue#" 来兼作编辑用户表单。如果用户存在(例如,您正在编辑用户,它会从数据库加载用户数据。在
代码:
表单:
<br/>Digital Copy<br/>
<!--- If null, set a default if not, set the default to database default --->
<cfif len(Trim(certificationsList.cprAdultImage)) EQ 0>
<cfinput type="file" required="no" name="cprAdultImage" value="" >
<cfelse>
File Exists: <cfoutput><a href="#certificationsList.cprAdultImage#">View File</a></cfoutput>
<cfinput type="file" required="no" name="cprAdultImage" value="#certificationsList.cprAdultImage#">
</cfif>
表单处理器:
<!--- Has a file been specificed? --->
<cfif not len(Trim(form.cprAdultImage)) EQ 0>
<cffile action="upload" filefield="cprAdultImage" destination="#destination#" nameConflict="makeUnique">
<cfinvokeargument name="cprAdultImage" value="#pathOfFile##cffile.serverFile#">
<cfelse>
<cfinvokeargument name="cprAdultImage" value="">
</cfif>
CFC
ARGS:
<cfargument name="cprAdultExp" required="NO">
<cfargument name="cprAdultCompany" type="string" required="no">
<cfargument name="cprAdultImage" type="string" required="no">
<cfargument name="cprAdultOnFile" type="boolean" required="no">
查询:
UPDATE mod_StudentCertifications
SET
cprAdultExp='#DateFormat(ARGUMENTS.cprAdultExp, "mm/dd/yyyy")#',
cprAdultCompany='#Trim(ARGUMENTS.cprAdultCompany)#',
cprAdultImage='#Trim(ARGUMENTS.cprAdultImage)#',
cprAdultOnFile='#Trim(ARGUMENTS.cprAdultOnFile)#'
INSERT INTO
mod_StudentCertifications(
cprAdultExp,
cprAdultcompany,
cprAdultImage,
cprAdultOnFile
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这实际上是在做与你想要的相反的事情。我相信你想说的是:
编辑
顺便说一句,..由于所有参数都是可选的,因此代码感觉有点尴尬。
您无法真正预设文件控制“值”(浏览器安全限制)。由于用户在这两种情况下都可以上传文件,因此只需提供输入并仅在存在先前图像时才显示“查看”链接。
UPDATE 逻辑看起来也有点不对劲。如果未提供文件,您最终将用空字符串覆盖现有图像。为了避免这种情况,仅在提供了新文件(即非空)时才更新该字段。
表单处理:
CFC ARGS:
查询
并且不要忘记清理。删除所有旧文件...
That is actually doing the reverse of what you want. I believe what you are trying to say is:
Edit
As an aside, .. since all of your arguments are optional, the code feels a bit awkward.
You cannot really preset the file control "value" (browser security restrictions). Since a user can upload a file in both cases, just provide an input and display the "view" link only if a previous image exists.
The UPDATE logic looks a bit off as well. If a file was not supplied, you will end up overwriting the existing image with an empty string. To avoid that, only update that field if a new file was supplied (ie non-empty)
Form processing:
CFC ARGS:
Query
And do not forget cleanup. Remove any old files...