从cptp获取文件(coldfusion)

时间:2016-04-13 18:58:16

标签: coldfusion ftp cfftp

我需要从这个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超时。有什么想法吗?

2 个答案:

答案 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>

感谢您的帮助。