我在编写脚本时遇到一些麻烦,该脚本将启动我的forticlient vpn命令行客户端并在提示时发送我的密码.这是我的代码:
#!/usr/bin/expect -f
set loadme "./forticlientsslvpncli --server myvpnserver --vpnuser theuser
eval spawn $loadme
expect "Password for VPN: "
send "password\r"
Run Code Online (Sandbox Code Playgroud)
但是,它仍然提示输入vpn密码.我确信这是一个简单的东西,我对linux脚本很新,但任何帮助将不胜感激!
谢谢!
我有一个表单,我想提交给一个组件进行处理(CRUD行为),问题是它似乎将multipart/form-data传递给某个组件以某种方式丢失了文件位置.当它到达应该上传文件的组件部分时,我得到臭名昭着的表单字段不包含文件错误.
我不是百分之百确定为什么会发生这种情况,但如果我将表单直接提交到执行cffile操作的.cfm页面,一切都按预期工作,但如果.cfm页面执行如下操作:
<cfobject name="process_form" component="processor" />
<cfset result = process_form.upload( form ) />
Run Code Online (Sandbox Code Playgroud)
并且组件"processor"尝试进行上传,我得到表单字段不包含文件.
我的处理器看起来像:
<cfcomponent name="processor">
<cffunction name="upload" returntype="string">
<cfargument name="form_data" type="struct" />
<cffile action="upload" filefield="#arguments.form_data.file_1#" ...>
[ ... ]
</cffunction>
</cfcomponent>
Run Code Online (Sandbox Code Playgroud)
有一点需要注意的是,如果我尝试使用arguments.form_data.file_1没有#符号的变量,我会得到错误:
The form field arguments.form_data.file_1 did not contain a file.
Run Code Online (Sandbox Code Playgroud)
如果我在变量周围加上#符号,我得到:
The form field C:\JRun4\servers\cfusion\SERVER-INF\temp\cfusion-war-tmp\neotmp7350969777287007477.tmp did not contain a file.
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何想法?我宁愿将所有处理操作放在一个组件中,但是现在我似乎无法做到这一点.
谢谢!将
我想知道将pdf存储在数据库表中是否是一个很好的长期想法.以下是对问题的描述:
我有一个客户,有数百个客户端上传大量的pdf文件作为证据.这些pdf文件的范围从相当小(<100K)到10MB.这些文件可能会多次上传,因为它们是单个项目的证明(即proof1.pdf,proof2.pdf等).每个客户的PDF必须保持独立,每个项目的PDF必须为每个客户保持独立.
目前,它已设置为将文件直接上载到为每个项目为每个客户创建的文件夹.这没关系,但确实占用了空间,找到文件可能有点噩梦.就像我说的那样,每个项目和每个客户都会上传多个样张.
我能想到的最佳解决方案是提供一个界面,将PDF文件直接上传到db表中,该表跟踪客户ID,项目ID和证据.这提供了更好的安全性,并且能够从项目X的每个客户获取所有PDF文件.
将开发一个数据库清理工具来删除超过指定时间段的记录,因此该表不会永远持续增长,但我担心性能损失(如果有)和其他可能的负面因素俯瞰.
所以,总的来说这是一个好主意,还是我应该找到一个更好的方法来处理文件系统中的这个?
我正在尝试为jquery Full Calendar插件提供json feed,但我没有太多运气.我从coldfusion回来的数据格式不正确(至少这是我的猜测).这是我要回来的:
{"COLUMNS":["TITLE","START","END","REQUEST_TYPE_ID"],"DATA":[["duration of a VTC ","2012-03-15T12:00:00Z","2012-03-15T15:00:00Z",1],["a new vtc overlap","2012-03-15T11:45:00Z","2012-03-15T14:15:00Z",1]]}
Run Code Online (Sandbox Code Playgroud)
我很确定完整日历不知道如何读取此数据类型.所以问题是,我可以让CF以完整日历接受的格式传回数据吗?这里还有别的东西吗?
这是我的组件:
<cfquery datasource="#arguments.dsn#" name="eventlist">
select title, to_char(start_time,'YYYY-MM-DD')||'T'||to_char(start_time,'HH24:MI:SS')||'Z' as "start",
to_char(start_time,'YYYY-MM-DD')||'T'||to_char(start_time + (duration/1440),'HH24:MI:SS')||'Z' as "end", request_type_id
from ((request r join event_schedule es on es.request_id = r.id)left join location_ref loc on loc.location_id = r.location_id)
where site_id = <cfqueryparam value="#arguments.site_id#" cfsqltype="cf_sql_varchar" />
and request_type_id = <cfqueryparam value="#arguments.evnttype#" cfsqltype="cf_sql_varchar" />
and start_time between to_date('#sdate#', 'mon dd yyyy') and to_date('#edate#', 'mon dd yyyy')
</cfquery>
Run Code Online (Sandbox Code Playgroud)
并且返回格式是json.
returnformat="json"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢!
我正在开发一个应用程序,它将保留会议室并需要我的查询一点帮助.当用户选择日期以及开始和结束时间时,我会进行ajax调用以查询数据库,以查看在该日期的该时间范围内是否有可用的会议室.这显然意味着所有各种可能性(在请求的开始时间之前开始并在请求的结束时间之后结束,在请求的开始时间之后开始并在请求的结束时间之前结束,等等)
我想做的事情如下:
SELECT room_id From table where (
(start_time >= request_start and end_time <= request_end)
or
(start_time <= request_start and end_time >= request_end)
or
(start_time >= request_start and end_time <= request_end)
or
(start_time <= request_start and end_time >= request_end)
)
Run Code Online (Sandbox Code Playgroud)
但是上面似乎没有用.显然,我不需要/想要超出请求时间的房间(在请求的开始和结束之前开始和结束,或者在请求的开始和结束之后开始和结束).但我确实需要那些在请求开始之前启动但在请求结束之前结束并在请求开始之后开始并在请求结束之后结束的那些.
逻辑似乎在逃避我.任何帮助将不胜感激!
另外,在旁注中,我想返回保留的room_id,因为上面是我用来选择不在返回的列表结果中的room_ids的子查询.
coldfusion ×3
blob ×1
cffile ×1
command-line ×1
expect ×1
fullcalendar ×1
json ×1
linux ×1
mysql ×1
oracle ×1
sql ×1