vc实现简单的ftp上传和下载功能

#include <afxinet.h>
void CFtpHandleDlg::OnOK()
{
 // TODO: Add extra validation here
 CInternetSession *m_pInternetSession=new CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);
 CFtpConnection *m_pFtpConnection;
 try{
  m_pFtpConnection=m_pInternetSession->GetFtpConnection("127.0.0.1","123456","123456");
  if(m_pFtpConnection != NULL)//链接成功
  {
   CFtpFileFind FtpFinder( m_pFtpConnection ) ;
   CString FtpPath="/123/123.xls";
   CString LocalPath ="D://456//456.xls";
   if( !( m_pFtpConnection->GetFile( FtpPath, LocalPath, true, FILE_ATTRIBUTE_NORMAL , FTP_TRANSFER_TYPE_BINARY , 1) ) )
   {
    DWORD dErr = GetLastError() ;
    CString sErr;
    sErr.Format( "下载失败: ERROR %d" ,dErr ) ;
    AfxMessageBox(sErr);
   }
   FtpPath="/123/456.xls";
   if( !( m_pFtpConnection->PutFile( LocalPath, FtpPath, FTP_TRANSFER_TYPE_BINARY, 1) ) )
   {
    DWORD dErr = GetLastError() ;
    CString sErr;
    sErr.Format( "上传失败: ERROR %d" ,dErr ) ;
    AfxMessageBox(sErr);
   }
   
  }
 }catch(CInternetException *pEx){
  TCHAR szError[1024];
  if(pEx->GetErrorMessage(szError,1024))
   AfxMessageBox(szError);
  else
   AfxMessageBox("There was an exception");
  pEx->Delete();
  m_pFtpConnection=NULL;
 }
 if(m_pFtpConnection != NULL)
 {
  m_pFtpConnection->Close();
  delete m_pFtpConnection;
 }
 delete m_pInternetSession;
 //CDialog::OnOK();
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值