FTP中GetFile不能获取文件到本地
//获得FTP连接
CInternetSession session("FTP Session");
CFtpConnection *pConn=NULL;
pConn=session.GetFtpConnection(FtpIp,FtpUsr,FtpPwd);//成功
......
//请问:用如下函数GetFile时,该函数总返回0(失败),不能获取指定目录下的文件到本地.但是我用相同的用户名/密码/IP地址telnet到UNIX服务器后,手动get可以获取指定目录下的文件,请指教.
int nRet = 0;
nRet = pConn->GetFile(ftp_file,obj_file,FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII,1))
//说明:服务器指定目录下的文件属主不是FtpUsr,但是既然手动可以get,为什么用函数就不可以呢?
问题点数:50、回复次数:5Top
1 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2004-12-04 20:13:20 得分 25
我有一个FTPCLIENT的例子,里面有中文注释,EnochShen@QQ.comTop
2 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-12-04 20:54:30 得分 25
CInternetFile* pFtpFile = NULL;
CFtp ftp;
if( !ftp.Connect( "ftp://????", NULL, NULL ) ) //具体是你的ftp服务器的地址、后面两个参数是用户名和密码,如果位NULL则使用匿名登陆
{
// Message( "同服务器连接失败,请稍后再试!" );
return;
}
//Message( "同ftp服务器连接成功!" );
try
{
pFtpFile = ftp.OpenFile( "要下载的文件名", GENERIC_READ );
}
catch ( CInternetException* pEx )
{
//TCHAR szErr[1024];
//if ( pEx->GetErrorMessage( szErr, 1024 ) )
//Message( szErr );
pEx->Delete();
}
char szBuff[1025];
while( TRUE )
{
UINT uiReads = pFtpFile->Read( szBuff, 1024 );
//出来szBuff中的数据...
if( uiReads != 1024 ) break; //已经下载完毕
}
pFtpFile->Close();
delete pFtpFile;
Top
3 楼danlansky(忧郁蓝色)回复于 2004-12-05 11:04:58 得分 0
我是想用如下方法获取:
CInternetSession session("FTP Session");
CFtpConnection *pConn=NULL;
pConn=session.GetFtpConnection(FtpIp,FtpUsr,FtpPwd);
pConn->GetFile(ftp_file,obj_file,FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII,1));
Top
4 楼danlansky(忧郁蓝色)回复于 2004-12-05 12:11:46 得分 0
我自己把这个帖子顶一下!渴望得到大家的关注和帮助。谢谢。Top
5 楼danlansky(忧郁蓝色)回复于 2004-12-07 11:23:06 得分 0
没有人来,今天要结贴了。Top




