我需要从这个ftp服务器(ftp.cetip.com.br)获得一个文件,它位于目录/MediaCDI/中,名为"20160412.txt“。
完整的地址是ftp://ftp.cetip.com.br/MediaCDI/20160412.txt。这是一个打开的ftp,但是cfftp需要一个用户和密码来连接。我试着省略它,就像这样:
<cfftp action = "getFile"
server="ftp.cetip.com.br"
remotefile="/MediaCDI/20160412.txt"
localfile="#Session.wwwrootPath#Temp\cdi.txt">但是这会返回一个属性错误。
标记CFFTP.的属性验证错误 它有一个无效的属性组合:动作、本地文件、远程文件、服务器。可能的组合是:
如果没有用户和通行证,我怎么做呢?
更新感谢利和P Mascari。我试过了
<cfftp connection="Myftp"
server="ftp.cetip.com.br"
username = "anonymous"
password="name@email.com" <!--- valid email --->
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\teste.txt"
timeout="3000">
done!!<br />
<cfflush>错误: 425无法构建数据连接:连接超时。我现在的问题是在第三部分,我可以用匿名连接,更改dir,但是动作getFile超时了。有什么想法吗?
发布于 2016-04-14 11:55:15
尤里卡
我发现了超时的问题。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>谢谢你的帮助。
发布于 2016-04-13 20:34:15
您是否尝试发送空白登录(username=“password=”或“username=”匿名“password=”)?
<cfftp action="getFile"
username="anonymous"
password=""
...>https://stackoverflow.com/questions/36607231
复制相似问题