上传时,FtpOpenFile返回nil而不是文件句柄

时间:2010-01-17 20:54:21

标签: delphi ftp wininet

我在Delphi中使用ftp传输文件。

我可以连接到ftp帐户,但是当我尝试上传文件时 FtpOpenFile函数返回nil而不是处理要上载的文件。

hintfile := FtpOpenFile(hintconnect,PChar(tgtfn),GENERIC_WRITE,FTP_TRANSFER_TYPE_BINARY,0);

如果我使用ftp客户端应用程序登录ftp站点并使用完全相同的凭据,我可以毫无问题地上传文件。

任何建议表示赞赏。

2 个答案:

答案 0 :(得分:1)

尝试获取最后一个错误,文档说明了一切:

  

“如果成功,则返回句柄,或   否则为NULL。检索特定的   错误消息,调用GetLastError。“

http://msdn.microsoft.com/en-us/library/aa384166(VS.85).aspx

答案 1 :(得分:0)

尝试将INTERNET_FLAG_PASSIVE添加到您的Internetopen调用中,另请参阅

http://etutorials.org/Programming/Pocket+pc+network+programming/Chapter+2.+WinInet/File+Transfer+Protocol+FTP/