VC实现文件上传下载(FTP)
//连接ftp服务器
void  CMyFtpDlg::OnConnect() 
{
UpdateData(TRUE);
//新建对话
m_pInetSession=new  CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);
try 
//新建连接对象
m_pFtpConnection=m_pInetSession-> GetFtpConnection(m_strServer,m_strUserName,
m_strPassword); 
catch(CInternetException  *pEx) 
{
//获取错误
TCHAR  szError[1024];
if(pEx-> GetErrorMessage(szError,1024))
AfxMessageBox(szError);
else   
AfxMessageBox( "There  was  an  exception ");
pEx-> Delete();
m_pFtpConnection=NULL;
return;
}
m_pRemoteFinder  =  new  CFtpFileFind(m_pFtpConnection);
//获得服务器根目录的所有文件并在列表框中显示
BrowseDir( " ",&m_ctrlRemoteFiles,m_pRemoteFinder,&m_arrRemoteFiles);
}
//下载单个文件
void  CMyFtpDlg::DownFile(FILEITEM  fileItem)
{
if(fileItem.bDir  ==  TRUE)
{
AfxMessageBox( "本程序暂时不支持下载整个文件夹,请选择文件下载 ");
}
else
{
connect下载//格式化文件名
CString  strLocalFile,strRemoteFile;
strRemoteFile.Format( "%s\\%s ",m_pRemoteFinder-> GetRoot(),fileItem.strFileName);
strLocalFile.Format( "%s\\%s ",m_LocalFinder.GetRoot(),fileItem.strFileName);
//下载
if(m_pFtpConnection-> GetFile(strLocalFile,strLocalFile))
{
CString  strMsg;
strMsg.Format( "下载文件%s成功! ",fileItem.strFileName);
AfxMessageBox(strMsg);
}
}
}
//上传单个文件
void  CMyFtpDlg::UpFile(FILEITEM  fileItem)
{
if(fileItem.bDir  ==  TRUE)
{
AfxMessageBox( "本程序暂时不支持上载整个文件夹,请选择文件上载 ");
}
else
{
//格式化文件名
CString  strLocalFile,strRemoteFile;
strRemoteFile.Format( "%s\\%s ",m_pRemoteFinder-> GetRoot(),fileItem.strFileName);
strLocalFile.Format( "%s\\%s ",m_LocalFinder.GetRoot(),fileItem.strFileName);
//上传
if(m_pFtpConnection-> PutFile(strLocalFile,strLocalFile))
{
CString  strMsg;
strMsg.Format( "上载文件%s成功! ",fileItem.strFileName);
AfxMessageBox(strMsg);
}
}
}
Welcome
欢迎您的下载,
资料仅供参考!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。