我通常在Application.cfc的第一行中设置应用程序范围的数据源名称:
<cfscript>THIS.datasource="mydsn";</cfscript>
Run Code Online (Sandbox Code Playgroud)
如果我需要在代码的某些部分更改它,该怎么办?
具体来说,我的意思是:
我可以为每个请求执行此操作吗?
今天,当我尝试使用ColdFusion Builder 2配置我的ColdFusion10服务器时,它向我显示了一条错误消息,例如"Sever home无效",屏幕截图:
我无法继续前进"下一步"和"完成"按钮被禁用并显示错误消息.
任何人都可以建议我应该提供哪条路径?
在Coldfusion中,我想知道特定变量的范围,我怎么能得到它?
实际上在现有的cfm文件中,使用了一个未在该页面中声明的变量.但是因为它没有抛出任何错误,这就是为什么我认为这个变量可能在其他范围内声明.
那么我可以知道声明的范围吗?
我有一个生成多个电子表格对象的cfm页面,如果我尝试发送文件进行下载,只有最后生成的电子表格文件作为下载发送.
有没有办法将这些文件写入zip并将zip文件作为下载文件发送?
这是我现有的逻辑:
for(VARIABLES.fileNumber = 0; VARIABLES.fileNumber < VARIABLES.maxFiles; VARIABLES.fileNumber = VARIABLES.fileNumber + 1)
{
/* code to create Spreadsheet here */
VARIABLES.context = getPageContext();
VARIABLES.context.setFlushOutput(true);
VARIABLES.response = VARIABLES.context.getResponse().getResponse();
VARIABLES.response.reset();
VARIABLES.response.setContentType("application/msexcel");
VARIABLES.response.setContentLength(len(SpreadsheetReadBinary(VARIABLES.suppItemSpreadSheetObj)));
VARIABLES.response.setHeader("Content-Disposition","attachment;filename=MyComplianceStatusFile#VARIABLES.fileNumber#Of#VARIABLES.maxFiles#.xls");
VARIABLES.out = response.getOutputStream();
VARIABLES.out.write(SpreadsheetReadBinary(VARIABLES.suppItemSpreadSheetObj));
VARIABLES.out.flush();
VARIABLES.out.close();
}
Run Code Online (Sandbox Code Playgroud)
现在,这样我只得到生成的最后一个电子表格.有没有办法让所有生成的电子表格一个接一个或者可能是拉链?
'excelFileQuery'包含一个查询.
<cfset spreadsheetAddRows(s, excelFileQuery)>
<cfset spreadsheetAddRows(s,"#volunteeralias# Export Report (#dateformat(now(),'mmmm d, yyyy')# at #timeformat(now(),'h:mm tt')#)",1,1)>
<cfheader name="content-disposition" value="attachment; filename=myexcel.xlsx">
<cfcontent type="application/msexcel" variable="#spreadsheetReadBinary(s)#" reset="true">
Run Code Online (Sandbox Code Playgroud)
但是当生成文件时,查询行会显示,而不是第二行.我做错了吗?
我有一个带有需要处理的复选框的表单我想循环遍历每个选定的选项但我似乎无法使ColdFusion将HTML复选框字段识别为列表
因此,如果有人选择了选项1和2,我应该能够遍历逗号分隔的提交值列表.但是,尽管使用逗号分隔符,它仍然将整个字符串选为单个条目
例:
<form action="" method="get">
<input name="test" type="checkbox" value="1" checked="checked" />Option1<br>
<input name="test" type="checkbox" value="2" checked="checked" />Option2<br>
<input name="test" type="checkbox" value="3" checked="checked" />Option3<br>
<input name="test" type="checkbox" value="4" checked="checked" />Option4<br>
<input name="" type="submit" />
</form>
<cfif IsDefined("test")>
<cfoutput> lenght: #len(test)#<br>
#test#
</cfoutput><br />
<cfloop index="i" list = "#test#" delimiters="," >
<cfoutput>#i# ---#test#<br /></cfoutput>
</cfloop>
</cfif>
Run Code Online (Sandbox Code Playgroud)
收益:
lenght: 7
1,2,3,4
1 ---1,2,3,4
2 ---1,2,3,4
3 ---1,2,3,4
4 ---1,2,3,4
Run Code Online (Sandbox Code Playgroud)
(我正在使用ColdFusion 10 dev版)
我想在旧的台式机上安装Windows Server,作为我们局域网的小型Web服务器.有了所有可用的变化,不确定哪一个是理想的:
我们可以使用更好的Windows服务器版本,还是Windows 7可以作为CF10 Web服务器使用?我们不关心Web服务器是运行iis,apache还是tomcat.
我有一个包含许多文本框的表单.所有文本框都是必填字段.由于这些是文本框,除了长度之外我不能使用特定的验证.但我不想让用户插入容易受到xss攻击的标签.
我知道在ColdFusion中我可以使用htmlEditFormat(),encodeForHTML()同时显示用户数据以防止XSS,但我只是想阻止那些插入到db.'GlobalScriptProtect'选项也没有根据我的知识添加太多安全性.因为我在CF10中,所以不能使用getSafeHTML()
有没有办法防止这些恶意输入插入CF10中的数据库.我可以进行客户端敏感化吗?
将文件上传到表单时遇到问题.基本上,我想检查会话是否包含先前在form.cfm中提交的文件.但是,遇到的问题:复杂对象类型无法转换为简单值.这些是我的代码:
form.cfm代码::
<cfif structKeyExists(form, "Submit")>
<cfif isDefined("Form.filecontent") AND evaluate("Form.filecontent") NEQ "" >
<cffile action = "upload"
fileField = "file"
destination = "#GetTempDirectory()#"
nameConflict = "overwrite">
<cfset form.storage = cffile>
<cfelse>
<cfset form.storage = "">
</cfif>
<cfset session.checkout.input = {
storage=form.storage
}>
<cflocation url="formcomplete.cfm" addToken="false">
</cfif>
<!DOCTYPE html>
<html>
<head>
<title>Testing</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css" />
<!-- Other Scripts or CSS... -->
</head>
<body>
<form method="post" enctype="multipart/form-data">
<cfoutput>
<input id="filecontent" name="filecontent" class="input-file" type="file" accept="application/vnd.ms-excel">
</cfoutput>
<button …Run Code Online (Sandbox Code Playgroud) 我来自PHP背景,对ColdFusion来说很新.我正在使用ColdFusion-10
我创建了两个文件:cfm文件和cfc文件.当我在cfm文件中使用cfquery执行查询时,它正在工作.但是当我在cfc文件中执行相同的操作并调用cfm文件中的函数时,它会抛出一个错误,说表名不存在.
两个文件中的cfquery:
<cfquery name="test" dbtype="query">
SELECT * FROM tbl_name
</cfquery>
Run Code Online (Sandbox Code Playgroud) coldfusion ×10
coldfusion-10 ×10
apache ×1
coldfusion-8 ×1
coldfusion-9 ×1
contain ×1
datasource ×1
file ×1
forms ×1
iis-7 ×1
qoq ×1
session ×1
tomcat ×1
xss ×1