我需要从这个ftp服务器(ftp.cetip.com.br)获取一个文件,该文件位于目录/ MediaCDI /中,名称为“20160412.txt”。
完整地址为ftp://ftp.cetip.com.br/MediaCDI/20160412.txt。这是一个开放的ftp,但cfftp需要用户和密码才能连接。我试着省略它,像这样:
ID
但这会返回属性错误。
标记CFFTP的属性验证错误。
它具有无效属性 组合:action,localfile,remotefile,server。可能的组合 是:
必需属性: '动作,LOCALFILE,密码,参数】remotefile,服务器,用户名'。可选的 属性: 'asciiextensionlist,属性,缓冲区大小,failifexists,指纹,被动的,端口,proxybypass,访问代理服务器,结果,RetryCount重,安全,STOPONERROR,超时transfermode'。
....
如果没有用户并通过该怎么办?
UPDATE 感谢Leigh和P Mascari。 我试过了
TableB
错误:425无法构建数据连接:连接超时 。 我现在的问题是在第三部分,我可以连接匿名,更改目录,但动作getFile超时。有什么想法吗?
答案 0 :(得分:4)
您是否尝试发送空白登录名,即username =“”password =“”或“username =”anonymous“password =”“?
<cfftp action="getFile"
username="anonymous"
password=""
...>
答案 1 :(得分:4)
尤里卡
我发现了超时问题。 FTP使用主动FTP模式,应用程序正在等待被动模式(PASV)。我添加了行passive ='yes'
并且命令工作了:)。这是最终的代码:
<cfftp
connection="Myftp"
server="ftp.cetip.com.br"
username = "anonymous"
password="username@example.com"
action="Open"
stoponerror="Yes"
secure="no">
<p>Did it succeed? <cfoutput>#cfftp.succeeded#</cfoutput><br />
<cfflush>
<cfftp connection="Myftp"
action="changedir"
directory="MediaCDI">
changed<br />
<cfflush>
<cfftp connection="Myftp"
action="getFile"
remoteFile="20160412.txt"
localfile="#Session.wwwrootPath#Temp\test.txt"
timeout="3000"
passive="yes">
donne<br />
<cfflush>
感谢您的帮助。