我有一个页面,显示用户已上传的文件列表。就像这样:
<ul id="FileUploader">
<li>
<a href="directory/filename1.pdf">Filename1</a>
<a href="#" class="DeleteFileUpload">Delete</a>
</li>
<li>
<a href="directory/filename2.pdf">Filename2</a>
<a href="#" class="DeleteFileUpload">Delete</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我有一个CFC,该方法需要知道要删除哪个文件。因为这不是Form,所以我不确定如何将数据传递给CFC以使其删除文件。
CFC示例:
<cffunction name="DeleteUpload" access="remote" returnformat="JSON">
<cfargument name="Filename" required="true"> //which filename to delete
<cffile action = "delete" file = "c:\files\upload\#Arguments.Filename#"> //delete the file
<cfquery> // Update SQL table to remove filename reference
DELETE FROM UploadsTable
WHERE Filename = '#Arguments.Filename#'
</cfquery>
<cfset success = true> // all done so set variable to true
<cfreturn success> // returns success as JSON to notify Jquery …Run Code Online (Sandbox Code Playgroud) 使用:CF10和IIS7.5
我的网站中有一个名为"预订"的部分.它的位置如下:
c:\inetpub\wwwroot\mysite\bookings
Run Code Online (Sandbox Code Playgroud)
在这个文件夹中将是子文件夹,最终是网页本身.下面是一个例子:
c:\inetpub\wwwroot\mysite\bookings\holidays\new.cfm
c:\inetpub\wwwroot\mysite\bookings\carhire\edit.cfm
Run Code Online (Sandbox Code Playgroud)
我<cfinclude>在每个网页中包含(使用)另一个页面,根据调用它的页面显示不同的链接.我想知道的是"预订"文件夹之前的目录.像这样的东西(伪代码):
<cfset whereAmI = #GetDirectoryFromPath(GetBaseTemplatePath())#>
<cfif #whereAmI# EQ "C:\inetpub\wwwroot\mysite\bookings">
<h1>Booking Section Links</h1>
</cfif>
Run Code Online (Sandbox Code Playgroud)
上述代码仅在用户访问bookings/index.cfm"bookings"文件夹的页面时有效.但如果他们转到bookings/holidays/new.cfm页面,它现在位于holidays文件夹中,因此<h1>内容不会出现.我真的只想检查预订文件夹中的任何页面,即使它位于预订文件夹中的子文件夹中.有点像SQL,我可以IF #GetDirectoryFromPath(GetBaseTemplatePath())# LIKE 'c:\inetpub\wwwroot\mysite\bookings%'这么说它最后有一个通配符.
我知道这个问题会激怒MVC框架的拥护者,但请原谅我!
使用:Dreamweaver CS6,ColdFusion 10,CFBuilder 3(很快)
我目前正在开发三个单独的Web项目,但我为每个项目使用相同的资源集:
目前,每个Web项目都在其Web根目录中包含相同文件的副本.我希望有一个所有网站链接的地方来获取这些共同的共享资源.我只能想到两种方法,两者都相似:
上述两点都有点难以做到,因为没有"主站".没有任何网站以任何方式相互链接.
假设我已决定使用主站点,然后我可以使用完全限定的URL链接到这些文件.但这意味着当我在我的开发环境中时,我将无法看到这些文件,并且在我进行更改时使用任何类型的IDE内省来查看文件中的内容(例如,intellisense会检测文件中的内容并为您提供提示).
总体而言,最好的方式是为开发和生产环境共享这些资源?
更新:在答案之后,我意识到我需要IIS中的虚拟目录以及我的Windows 7本地文件夹中的虚拟文件夹,其中保存了我的Web项目文件.
我正在使用该CreateObject()方法创建CFC的实例,然后与这个新创建的"实例"进行交互.我这样做是因为它似乎是这样做的,但我不明白为什么我们这样做.
为什么我们不能直接与CFC交互而不是创建它的实例?
我在页面上有一个文本字段,允许人们输入他们的名字.然后将其包含在专门为他们制作的URL中,例如mysite.net/johnnyfive
我不希望人们在他们的名字中使用任何特殊字符,包括非英语字母表中的字符,如阿拉伯语或中文.
我将如何验证为英文字母中的ColdFusion?我想出了这个英文名称,#REReplace(LCase(ARGUMENTS.Name), '[^a-z0-9]', '', 'ALL')#以确保只允许字符AZ和数字.但是,如果有人进入类似的东西,??????我想要它完全拒绝它,而不是试图取代它.
我也想在jQuery端执行此操作并将其绑定到文本字段,以便在有人尝试输入非英语字符时抛出错误.我想甚至á不应该允许像这样的变音字符.
我正在使用ColdFusion 10,jQuery 1.9和jQuery Validate
当用户在站点上注册时,我们应该使用EncodeForHTML()还是EncodeForURL()在将值存储到数据库之前?
我之所以这样说是因为当我向包含一个包含电子邮件地址作为URL变量的URL的人发送电子邮件时,我必须使用EncodeForURL().但是如果这个电子邮件地址已经使用了编码EncodeForHTML(),那就意味着我必须先再使用Canonicalize(),然后再使用EncodeForURL()它.
因此,我认为这EncodeForURL()可能是好的,但在将值存储在数据库中时,它是否"安全"和"正确"?
更新:阅读文档后,它说EncodeForURL仅用于在URL中使用值.因此,似乎有意义的是我应该将其存储为EncodedForHTML,然后在URL上下文中使用它时对其进行Canonicalize和重新编码.我不知道所有这些编码会在我的服务器上占用多少性能......?
我试图通过Ajax提交一些数据,但我的一个关键名称及其值必须是动态的.这就是我的意思:
var ProductName = $('#Product').attr('name'); // #Product is hidden form element
var ProductID = $('#Product').val();
$.ajax({
type: 'post',
url: 'form/processor/page',
data: {
SomeElement: ItsValue,
AnotherElement: ItsValue,
ProductName: ProductID // this one must be dynamic
},
....
Run Code Online (Sandbox Code Playgroud)
所以基本上我想使用ProductName变量的值来提供密钥名称,并ProductID提供密钥的值.
我怎么能这样做?
我有两个简单的表:
OrderStatus和OrderStage具有单一主键整数的列OrderStatusID和OrderStageID分别.每个表返回大约5行.
我要做的是创建一个SELECT语句,它计算每个OrderStatusID和OrderStageID组合的订单数.这是一个例子:
SELECT
COUNT(OrderID)
FROM
Order
WHERE
OrderStatusID = '1' and OrderStageID = '1'
SELECT
COUNT(OrderID)
FROM
Order
WHERE
OrderStatusID = '1' and OrderStageID = '2'
......
SELECT
COUNT(OrderID)
FROM
Order
WHERE
OrderStatusID = '4' and OrderStageID = '5'
Run Code Online (Sandbox Code Playgroud)
我必须编写5x5 SQL语句来计算每种可能组合中的订单数量,这对我来说变得乏味.如果有人向表OrderStatus或OrderStage表添加更多行,那么我将不得不继续重新访问此代码以添加新组合.
此数据的最终呈现将位于网页上的"树"中,与Outlook在邮件面板中显示收件箱,已发送邮件,已删除等电子邮件的计数方式非常相似.我在我的网页上使用ColdFusion.如果我使用GROUP BY语句来获取数据,那么我如何在ColdFusion中单独显示每个结果行?会<cfquery group="">工作吗?
对于给定OrderStatusID和OrderStageID组合的Order表中没有行,它应该返回0或NULL.这就是我为每种可能的组合使用单独的SELECT语句的原因.
我一直试图isSafeHTML()告诉用户他们提交的HTML是否允许.CFDocs.org和Adobe.com的文档显示该函数需要三个参数:inputString, policyFile, throwOnError.但是,当我提供所有三个参数时,我得到一个错误,说它只接受1或2个参数.
经过一些测试,我得出结论,这throwOnError不是这个函数的有效参数.其他人可以证实吗?如果是这样,有没有办法更新文档,以便其他人不会遇到同样的问题?
我有一个名为的表dbo.RecycleProductID只有一个主键ProductID列和一Used列:
ProductID (pk, int) | Used (bit)
23 1
65 1
68 1
90 NULL
104 NULL
...
60983471 NULL
Run Code Online (Sandbox Code Playgroud)
上表中有大约6.5米的ProductID值,需要"回收"并分配给不同表格中的产品.一旦将a ProductID分配给产品,我必须更新Used列值1以指示它已被使用.ProductID序列中存在间隙,有些存在数千个(例如,它可以从1010跳到8055)并且此表中的行数多于接收dbo.Product表表.
该dbo.Product表(大约1.5米行)只是一个产品列表,但没有ProductID值.
ProductID (pk, int) | ProductName (varchar)
23 Toothpaste
65 Speakers
68 Galaxy S8
NULL Plate
NULL Monitor
NULL Carpet
.....
Run Code Online (Sandbox Code Playgroud)
我目前正在运行的while循环,以获得ProductID从价值观dbo.RecycleProductID到dbo.Product表:
DECLARE @Max int = (select max(ProductID) from [dbo].[RecycleProductID]);
DECLARE …Run Code Online (Sandbox Code Playgroud) coldfusion ×7
jquery ×3
sql ×2
sql-server ×2
ajax ×1
iis-7 ×1
regex ×1
t-sql ×1
validation ×1
windows ×1