ColdFusion是一个服务器端快速应用程序开发平台,实现了动态通用CFML编程语言。请在问题中包含CFML版本,操作系统和Web服务器。
将 cURL 请求命令转换为 Coldfusion (cfhttp)
我正在尝试使用 ColdFusion CFHTTP 模拟以下 cURL 请求 curl -u myCl13nt1D:my53cR3tK3Y -X POST --data "grant_type=password&username=x&password=y" https://www.sitename.net/t...
我有一个非常简单的代码来上传文件 ... 我有一个非常简单的代码来上传文件 <form method="post" action="upload.cfm" enctype="multipart/form-data"> <table> <tbody> <tr> <td><input type="file" name="uploadFile" id="uploadFile"></td> </tr> <tr> <td><input type="submit" name="Upload" id="Upload" value="Upload"></td> </tr> </tbody> </table> </form> 我的 upload.cfm 为: <cfif isDefined('form.upload')> <cfset results = uploadAndInsertData('#FORM.uploadFile#')> </cfif> 上传和插入功能为; <cffunction name="uploadAndInsertData" access="public" returntype="any"> <cfargument name="uploadedFile" type="any" required="true"> <cfset targetFolder = ExpandPath('documents')> <cfset success = true> <cfset cffile = UploadFile( FileField = "uploadedFile", destination = "#targetFolder#" )> <cfset fileContent = fileRead("#targetFolder##uploadedFile#")> </cffunction> UploadFile 是来自 cflib.org 的函数 https://cflib.org/udf/uploadFile 并且它一直向我抛出错误, 表单字段 uploadedFile 不包含文件。 20 : 21 : <!--- Upload to temp directory. ---> 22 : <cffile action="upload" filefield="#Arguments.FileField#" destination="#Arguments.TempDirectory#" nameconflict="MakeUnique"> 23 : <cfset tempPath = ListAppend(cffile.ServerDirectory, cffile.ServerFile, "\/")> 24 : 问题在于您将 FileField 传递给函数 UploadFile 的方式。 FileField 应该是 input[type="file"] 的名称,在您的情况下是 uploadFile。 <cfset cffile = UploadFile( FileField = "uploadFile", <----- destination = "#targetFolder#" )> 除此之外,您不需要调用 uploadAndInsertData('#FORM.uploadFile#') 无需将其传递给函数,只需执行 uploadAndInsertData()。 <cffile aciton="upload"> 根据字段名称自动获取表单字段。 你需要改变 <cfset fileContent = fileRead("#targetFolder##uploadedFile#")> 到 <cfset fileContent = fileRead("#targetFolder##cffile.serverFIlename#")>
在 ColdFusion 10 中使用 CF_SQL_NVARCHAR 的详细信息是什么?
有关更新数据库的 ColdFusion 10 文档中有一节介绍 ColdFusion 10 中与数据库相关的增强功能。该页面提到现在支持 CF_SQL_NVARCHAR...
我使用 Commandbox 启动了 ColdFusion 11 实例。我想更改 CFADMIN 中的“服务器设置”=>“设置”下的设置;即 POST 请求参数的最大数量。 我不断...
在 ColdFusion 中工作,我有一个名为 botmsg 的结构。 botmsg 中的每个键都有 3 个值,每个值都有不同的用途。键的值可以是数组吗? 如果是这样,如何...
ColdFusion 中 SOA 架构的 MOM、远程方法与共享数据库?
我们正处于建筑学的十字路口。 以前的系统使用共享数据库来相互通信,但我们希望摆脱 cfschedule 轮询延迟。所有子系统都...
Coldfusion,您提供的符号[method_name]不是函数
运行CF 9,0,1,274733 我有一个自定义 DAO CFC,其方法名为 getGamesBetTypesID()。 该方法由 CF 根据以下属性隐式生成/合成: 运行CF 9,0,1,274733 我有一个自定义 DAO CFC,其方法名为 getGamesBetTypesID()。 该方法由 CF 根据以下属性隐式生成/合成: <cfproperty name="gamesBetTypesID" type="numeric" /> 默认变量定义如下: <cfset VARIABLES.gamesBetTypesID = 0 /> 除此之外,没有其他变量、变量、局部变量、参数或名为 getGamesBetTypesID 的方法。所有 CFC 和函数变量的范围都正确。 这个 save() 方法被调用了数千次,但是以下错误会随机抛出,而且只有少数几次。 Detail: The symbol you provided getGamesBetTypesID is not the name of a function. Message: Entity has incorrect type for being called as a function. 这是 save() 方法: <cffunction name="save" access="public" returntype="void" output="false"> <cfif getGamesBetTypesID() eq 0 or getGamesBetTypesID() eq ""> <cfset create() /> <cfelse> <cfset update() /> </cfif> </cffunction> 抛出错误时,我使用以下命令记录 CFC 元数据的转储 getMetaData(gamesBetTypesObj)。根据元数据,函数 getGamesBetTypesID 确实存在。 之前有其他人遇到过这个吗?我读到它可能是由于命名和范围冲突而发生的,但我没有。 提前致谢。 发布上面的问题后,我删除了 <cfproperty name="gamesBetTypesID" type="numeric" /> 并为 VARIABLES.gamesBetTypesID 添加了显式的 getter 和 setter。 <cffunction name="getGamesBetTypesID" output="false" access="public" returntype="numeric"> <cfreturn VARIABLES.gamesBetTypesID /> </cffunction> <cffunction name="setGamesBetTypesID" output="false" access="public" returntype="void"> <cfargument name="gamesBetTypesID" required="true" type="numeric" /> <cfset VARIABLES.gamesBetTypesID = ARGUMENTS.gamesBetTypesID /> </cffunction> 这段代码已经在生产环境中运行了一个星期,其中包括一个周末,这是我们忙碌的时期。过去 7 天内没有发生任何异常。以前,在繁忙的一天会抛出多达 15 个异常。 这让我相信通过 <CFPROPERTY> 生成/使用隐式访问器存在一个错误,该错误仅出现在某些情况下。我将使用 Adobe 记录错误 如果有任何进展我会更新。 更新一个很老的问题。我遇到了同样的情况,但我的函数被明确命名(没有 cfproperty 或 get/set)。问题是我在函数中使用与函数相同的名称声明了一个局部变量。我的函数是从循环内调用的。如果该函数仅被调用一次,则没有问题。如果第二次调用该函数,我将收到与您收到的相同错误。我怀疑当创建局部变量时,由于命名冲突,它会清除函数定义。我重命名了局部变量,问题就消失了。
ColdFusion 2018。 我在 Oracle 中运行了一个数据透视查询,生成了以下列标题。 我需要将此查询的结果输出到 html 表中。 如何访问这些列标题?
ColdFusion 2018。 我在 Oracle 中运行了一个数据透视查询,生成了以下列标题。 我需要将此查询的结果输出到 html 表中。 如何访问这些列标题?
我一直在尝试找出正确的符号来使用evaluate()函数。让我尝试解释一下: 我有几个组件:tasks.cfc、risks.cfc ...等等,每个组件都有各自的尊重...
是否可以使用 ColdFusion 创建布局?我想在添加到项目的任何页面上自动包含页脚和页眉部分,而不使用 cfinclude。 因为这不是真的。 '''...
我有以下数据: arTicker = []; arTicker[1] = { "视频": 100, “符号”:“苹果”}; arTicker[2] = { "视频": 101, &q...
Coldfusion 2021 与 Microsoft Exchange 365
我想使用 cfexchangeconnection 通过 microsoft 365 在线建立连接以获取我的电子邮件,但我已尝试了所有方法,但它返回错误 401 有没有人用成功了
如何将“使用 Steam 登录”按钮添加到 ColdFusion 网站?
我正在编写一个与游戏相关的网站,需要我知道用户的 Steam ID,所以似乎最好的方法是使用我在其他网站上看到的“使用 Steam 登录”按钮来
我正在尝试通过“按 URL 添加”方法添加 Google 日历。我从 Google 日历收到一般错误“无法在‘我的网址’为‘我的用户名’添加导入的日历”。网址我是...
是否可以使用 ColdFusion 创建布局?我想在添加到项目的任何页面上自动包含页脚和页眉部分,而不使用 cfinclude。 因为这不是真的。 '''...
我们有一些接受文件的 Coldfusion 页面,并且我们在目标页面上使用一些代码来处理这些文件,从以下开始: 我们有一些接受文件的 Coldfusion 页面,并且我们在目标页面上使用一些代码来处理这些文件,从这里开始: <cfset tmpPartsArray = caller.form.getPartsArray() /> <cfif IsDefined("tmpPartsArray")> <cfloop array="#tmpPartsArray#" index="tmpPart"> <cfif tmpPart.isFile()> <cfset thisFileName = tmpPart.getFileName() /> <cfset thisExt = listLast(thisFileName, ".")> </cfif> </cfloop> </cfif> 这在我们的初始测试中工作得很好,但是当在具有多个表单文件输入的页面上进行测试时,它始终会采用第一个表单文件输入的名称和扩展名(因为上面没有任何内容可以确保我们获得正确文件字段;只是我们有 a 文件字段)。我需要某种方法来确保我正在查看的 tmpPart 是 right 文件。 当我转储 tmpPart 时,我没有看到任何允许我获取文件来源的输入名称的函数。我可以获取原始文件名,但这对我没有帮助,因为我无法从 CF 的表单范围中获取原始文件名,所以我仍然无法判断哪个文件是正确的文件。 我找到正确的 tmpPart 的唯一方法是执行 cfFile 上传,然后从中获取文件名以与 getFileName() 进行比较,但使用 PartsArray 的全部目的是避免执行 cfFile 上传。 (避免 cfFile 上传是我无法更改的要求) 在循环访问 partsArray 时,有什么方法可以确定我们正在查看哪个文件字段? 在第二次看到这个之后我意识到我缺少从父类继承的函数,并且可以使用 getName() 来获取提交文件的 fieldName。 <cfset tmpPartsArray = caller.form.getPartsArray() /> <cfif IsDefined("tmpPartsArray")> <cfloop array="#tmpPartsArray#" index="tmpPart"> <cfif tmpPart.isFile() and tmpPart.getName() is attributes.filefield> <cfset thisFileName = tmpPart.getFileName() /> <cfset thisExt = listLast(thisFileName, ".")> </cfif> </cfloop> </cfif>
我使用二维 Coldfusion 数组作为计数器来跟踪不同的出现次数。但是,我发现由于数组声明很大,需要很长时间来处理......
有没有办法用一行优雅的代码编写这个逻辑? 有没有办法用一行优雅的代码来编写这个逻辑? <cfif ThumbnailWidth EQ 0> <cfset Width = 75> <cfelse> <cfset Width = ThumbnailWidth> </cfif> 冷聚变9: <!--- Syntax: ((condition) ? trueStatement : falseStatement) ---> <cfset width = ((ThumbnailWidth EQ 0) ? 75 : ThumbnailWidth) /> Coldfusion 8 及以下: <!--- Syntax: IIf(condition, trueStatement, falseStatement) ---> <cfset width = IIf((ThumbnailWidth EQ 0), 75, ThumbnailWidth) /> 有些人会说出于性能原因应避免使用 IIf()。在这个简单的例子中,我相信您不会发现任何区别。 Ben Nadel 的博客有有关 IIF() 性能的更多讨论和CF 9 中的新三元运算符。 我发现你的原著足够优雅——讲述故事,易于阅读。但这绝对是个人喜好。幸运的是,在 CFML 中总是至少有九种方法可以做任何事情。 您可以将其放在一行上(CFML 没有行尾要求): <cfif ThumbnailWidth EQ 0><cfset Width = 75><cfelse><cfset Width = ThumbnailWidth></cfif> 您还可以使用 IIF() 函数 - 它可以解决问题: <cfset Width = IIf(ThumbnailWidth EQ 0, 75, ThumbnailWidth)> 这个结构有点奇怪——我认为更清楚。 IIF() 的优点在于它也可以内联使用(毕竟它是一个函数)。例如: <img src="#ImageName#" width="#IIf(ThumbnailWidth EQ 0, 75, ThumbnailWidth)#"> 最后一种形式通常用于在注入动态代码时维护干净(呃)的 HTML 布局。 就像尼尔说的那样,这样就很好。如果你真的想要一行,你可以用三元运算符将其变成 cfscript,例如: <cfscript>width = (ThumbnailWidth == 0) ? 75 : ThumbnailWidth;</cfscript> 尚未测试此代码,但它应该可以工作。 如果您正在寻找简洁的代码,那么您可以比其他示例更进一步,利用 CF 对非零值的评估作为 true: <!--- CF 9 example ---> <cfset width = ThumbnailWidth ? ThumbnailWidth : 75> <!--- CF 8 and below ---> <cfset width = iif(ThumbnailWidth, ThumbnailWidth, 0)> 当然,您会牺牲一点清晰度,但这是为了更紧凑的代码而做出的权衡。 我个人更喜欢这样的东西: <cfscript> Width = ThumbnailWidth; if(NOT Val(Width)) // if the Width is zero, reset it to the default width. Width = 75; </cfscript> 假设您通过 get 或 post 方法的表单提交来提交 ThumbnailWidth 变量,如果使用 LUCEE 5 或更高版本,它可能看起来像这样: //POST width = form.ThumbnailWidth ?: 0; //GET width = url.ThumbnailWidth ?: 0; 默认值为0,而form和url范围包含客户端请求。
我们最近开始迁移到ColdFusion 2018 Enterprise,但发现计划任务不起作用。虽然相关的 cfm 文件在同一服务器上的浏览器中运行时可以工作,但我...