FTP客户端不能下载解决思路

FTP客户端不能下载
在用VC进行FTP客户端编程时,执行下载时,下载不成功,代码如下:

CFTPDownLoad::CFTPDownLoad()
{
pConnection=NULL;
OnConnectionServer();
}

CFTPDownLoad::~CFTPDownLoad()
{
//清除对象
if (pConnection!=NULL)
{
pConnection->Close();
delete pConnection;
}
delete pSession;
}

void CFTPDownLoad::OnConnectionServer()
{
//创建Internet会话
pSession=new CInternetSession( AfxGetAppName(),
1,
PRE_CONFIG_INTERNET_ACCESS);

try
{
//试图建立FTP连接
pConnection=pSession->GetFtpConnection("192.168.1.14",
"","",21);
}
catch (CInternetException* e)
{
//错误处理
e->Delete();
pConnection=NULL;
}
}

//传入参数为_strBZHPath:当前标准存储路径,如:D:\金相标准图谱\DL786\,_strBZHNum:当前标准号,如:DL786
void CFTPDownLoad::FTPDownLoad(CString _strBZHPath,CString _strBZHNum)
{
CFtpFileFind* pFileFind;
CString strFileName;
CString strTuPuName;
BOOL bContinue;
if (pConnection!=NULL)
{
//创建CFtpFileFind对象
//传递CFtpConnection对象的指针
pFileFind=new CFtpFileFind(pConnection);

//查找任意文件
bContinue=pFileFind->FindFile("*");

if (!bContinue)
{
//查找完毕
pFileFind->Close();
pFileFind=NULL;
}
while (bContinue)
{
//查找下一个文件
bContinue=pFileFind->FindNextFile();
//获得找到的文件的文件名
strFileName=pFileFind->GetFileName();

//如果查找到的是文件夹,且文件夹的名称与传入的标准名称一致,则进行文件夹内容下载
if (pFileFind->IsDirectory() && strFileName == _strBZHNum)
{
bContinue = pFileFind->FindFile(strFileName);
if(!bContinue)//未找到文件,跳出循环
break;

//创建下载文件夹,会创建两个嵌套的文件夹,1是“金相标准图谱”,2是标准号
CString PJDirect;//金相标准图谱文件夹
CString PJNum;//标准号文件夹
std::string _PJTemp;
std::string strDirect = _strBZHPath.GetBuffer(0);
int index = strDirect.rfind("\\");
strDirect = strDirect.substr(0,index);
index = strDirect.rfind("\\");
_PJTemp = strDirect.substr(index);
PJNum = _PJTemp.c_str();//得到评级文件夹
strDirect = strDirect.substr(0,index);
PJDirect = strDirect.c_str();
PJDirect += _T("Down");
CreateDirectory(PJDirect,NULL);
PJDirect += PJNum;
CreateDirectory(PJDirect,NULL);
PJDirect += _T("\\");
while(bContinue)
{
bContinue = pFileFind->FindNextFile();
strTuPuName = pFileFind->GetFileName();
_strBZHPath += strTuPuName;

//下载单个文件
if(pConnection != NULL)
{
if(!pConnection->GetFile(strTuPuName,PJDirect))
{
return;
}
else
AfxMessageBox("成功!");
}
}
break;
}
}

if (pFileFind!=NULL)
{
//查询结束
pFileFind->Close();
pFileFind=NULL;
}
}
//删除对象
delete pFileFind;
}

------解决方案--------------------
函数返回失败,你最好用GetLastError()函数看一下错误码。