- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将"file"类型的表单字段传递给 CFFUNCTION。参数类型是“任意”。这是我尝试使用的语法(伪代码):
<cfloop from="1" to="5" index="i">
<cfset fieldname = "attachment" & i />
<cfinvoke component="myComponent" method="attachFile">
<cfinvokeargument name="attachment" value="#FORM[fieldname]#" />
</cfinvoke>
</cfloop>
正在完成循环,因为有五个名为“attachment1”、“attachment2”等的表单字段。
这会在函数中引发异常:
coldfusion.tagext.io.FileTag$FormFileNotFoundException: The form field C:\ColdFusion8\...\neotmp25080.tmp did not contain a file.
但是,这种语法确实有效:
<cfloop from="1" to="5" index="i">
<cfinvoke component="myComponent" method="attachFile">
<cfinvokeargument name="attachment" value="FORM.attachment#i#" />
</cfinvoke>
</cfloop>
我不喜欢像第二个示例中那样编写代码。对我来说这似乎是不好的做法。
那么,谁能告诉我如何使用结构语法将文件类型表单字段正确传递给 CFFUNCTION?
最佳答案
在您的第一个代码片段中,值 #FORM[fieldname]#
计算结果为上传文件的名称。因此,您将文件名发送到函数,而不是包含文件名的字段的名称。
如果您想坚持使用可能使用的结构符号
<罢工> <cfinvokeargument name="attachment" value="FORM['#fieldname#']" />
或
<cfinvokeargument name="attachment" value="FORM.#fieldname#" />
相反。我也不认为您的(工作)第二个代码示例有任何问题。
编辑:
看起来好像<cffile>
如果使用结构符号传递字段,则无法评估文件字段,因为参数的某些自动评估魔法。经过进一步的调查,我发现仅传递表单字段的名称而不传递表单前缀也可以。
<cfinvokeargument name="attachment" value="#fieldname#" />
文件字段参数记录为字符串,包含不带前缀的表单字段名称。我的最后一种方法对我来说似乎更“正确”。它甚至会进一步隐藏实现。我也不太关心在组件或函数之外编写范围/结构变量/键,然后将其传递到函数中。这应该更好地在函数本身中完成。
关于forms - 为什么我不能使用结构语法将文件类型的表单字段传递给 CFFUNCTION?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2765737/
如果我使用 access="remote"将 cfselect 绑定(bind)到 cfc,那么我将失去拥有 Init() 构造函数的能力。 当我实例化一个组件时,我习惯于将数据源名称传递给 Ini
这个问题可能很幼稚,因为我是 ColdFusion 编程的新手。 我有一个任务,为此我在组件内编写了一个函数 f1 。我想从另一个函数调用 f1,f2 定义在同一组件中。 f2 在 cfm 文件中被调
我正在重新组织我的 ColdFusion 目录结构,并对有经验的 CF 开发人员如何组织较小的 cffunctions 库感到好奇。 我对复杂的组件(对象)并不像我对我们随着时间的推移而建立的几十个小
我正在尝试将"file"类型的表单字段传递给 CFFUNCTION。参数类型是“任意”。这是我尝试使用的语法(伪代码): 正在完成循环,因为有五个名
我已经为此工作了一段时间,并认为额外的一双眼睛(即你们)可能会派上用场。我定义了一个要在稍后调用并传递变量的 cffunction 中执行的 mySQL 插入查询。 cf 代码运行良好,但每当我去数据
我是 JSON 新手,实际上是 Javascript 新手。我实际上从某人那里找到了代码,并尝试实现我想要做的事情。 在我的 javascript 上,我有: function signin(var1
谷歌员工,如果你有一个根为 coldfusion.runtime.CFDummyComponent 的堆转储继续阅读。 2011/2/22 更新 Marc Esher of MXUnit fame f
谁能告诉我是什么问题?我尝试运行一些 .cfm 文件,但除了 cfcomponent 之外,它不会触发 cffunction 的任何影响?我错过了什么吗?谁能给我解释一下?
我有一个列表,想删除函数中的一些元素。我将要删除的元素作为结构传递到该函数中。我想我可以使用函数 ListFilter 来遍历列表。由于我将函数作为参数传递给此函数,我现在想知道是否可以从闭包中访问
我正在构建一个将无符号 int32 转换为 ipv4 地址的函数,并且在我使用范围的上半部分进行测试之前,一切都很好。 ColdFusion 似乎将 type="numeric
中的 verifyClient 是什么意思?实际上这样做使它安全吗?免受什么影响? 医生说: A Boolean value that specifies whether to require re
我有一个创建包含 JSON 的输出字符串的 cfc。有效载荷很好,但接收它的人告诉我数据是以 text/html 形式传入的,他的程序无法将其识别为有效,因为它需要是 application/json
我想知道我是否可以在我的 cfm 页面上调用 cffunction?我有 onClick 按钮,它应该调用同一页面上的 cffunction。我也试图将 cfcomponent 放在我的函数周围,但我
我有一个 test.cfm页面并想用 调用 cfc命名 errorEmail使用 从该页面(test.cfm)而不是 我试过了: errorEmail(cfcPath); 最佳答案 我
这必须是一个 Jquery 问题。以下代码返回零。当我测试/调试时,我可以毫无疑问地说 cffunction 正在生成数字 18。成功警报显示“Dupe Group-2 count=0”。 Fireb
我是一名优秀的程序员,十分优秀!