建立基于对话框的MFC应用程序CMfcFtpWinInetDlg:

  1、首先Dlg类中包含头文件 #include "afxinet.h"

  2、添加成员变量:

 C++ Code 
1
2
3
 
  private:
    CFtpConnection*     m_pFtpConnection;
    CInternetSession    m_Session;

 

  3、在OnInitDialog中加入Ftp连接代码:

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
// TODO: Add extra initialization here
m_pFtpConnection = NULL;

try
{
    // Here usr is the username, pwd is the password 
    // and ftpsite.com is the name of the ftp site which
    // you want to connect to.

m_pFtpConnection = m_Session.GetFtpConnection(_T("localhost"), _T("Manager"), _T("kingview"), INTERNET_INVALID_PORT_NUMBER);
}
catch(CInternetException *pEx)
{
    pEx->ReportError(MB_ICONEXCLAMATION);
    m_pFtpConnection = NULL;
    pEx->Delete();
}

  4、在OK和Cancel按钮中加入关闭Ftp连接代码:

 C++ Code 
1
2
3
4
5
6
 
// TODO: Add your control notification handler code here
m_Session.Close();
m_pFtpConnection->Close();

if(m_pFtpConnection != NULL)
    delete m_pFtpConnection;

   5、添加Upload以及Download按钮代码:

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
void CMfcFtpWinInetDlg::OnBnClickedBtnUpload()
{
    // TODO: Add your control notification handler code here
    CFileFind Finder;
    CString strFileName;

// Here c:\\Myfile.bmp is the name of the file that you want 
    // to upload. It neednt necessarily be a bitmap file. You 
    // can upload any file that you want to.
    // The CString strFileName is used so that the same name 
    // is uploaded to the ftp server.
    // After uploading, the file in the ftp server will have 
    // the same name as your local file.
    // You can also rename it to anything

if(Finder.FindFile(_T("F:\\hot.gif"))==TRUE)
    {
        Finder.FindNextFile();
        strFileName = Finder.GetFileName();
        Finder.Close();
    }

BOOL bUploaded = m_pFtpConnection->PutFile( _T("F:\\hot.gif"),
                                                strFileName,
                                                FTP_TRANSFER_TYPE_BINARY,
                                                );

AfxMessageBox(_T("Uploaded Successfully"));
}

void CMfcFtpWinInetDlg::OnBnClickedBtnDownload()
{
    // TODO: Add your control notification handler code here
    BOOL bDownloaded = m_pFtpConnection->GetFile(   _T("hot.gif"),
                                _T("D:\\hot.gif"),
                                TRUE,
                                FILE_ATTRIBUTE_NORMAL,
                                FTP_TRANSFER_TYPE_BINARY,
                                );
    AfxMessageBox(_T("Downloaded Successfully"));
}

   API参数说明,请参考MSDN。

最新文章

  1. MYsql 数据库密码忘记(Linux)
  2. 剑指Offer面试题:2.二维数组中的查找
  3. 学习笔记(二)——MVC扩展(渲染视图)
  4. B窗体继承于A窗体,B启动:问题点
  5. 新冲刺Sprint3(第七天)
  6. ReflectionHelper
  7. 对Oracle10g rac srvctl命令使用理解
  8. [转]遍历windows服务
  9. vs代码段快捷键设置
  10. 【iBoard电子学堂开发板例程】【12个 stm32 例程发布】
  11. 95秀-弹窗+listview+动画 示例
  12. Linux_install mod_ssl openssl apache
  13. iphone开发小记
  14. Java--最大子序列和实现
  15. Android 添加水印, 以及屏幕存取
  16. 安装jdk设置环境变量(win10)
  17. Elasticsearch System Call Filters Failed to Install
  18. 025 SSM简单搭建
  19. Mongodb 分组查询例子
  20. print($arr,true)的参数true表示将$arr的值返会,而不是打印

热门文章

  1. 更新yum源却忘了生成缓存 造成每次启动机器报:the package list needs to be rebuilt
  2. removeChildByTag、schedule、schedule_selector
  3. JVM Inline
  4. electron 的跳转
  5. VBA学习笔记(6)--抽取第一列中叫“虹虹”的个人信息
  6. ios开发之修改 UITableview 滚动条颜色的方法
  7. 一款纯css实现的漂亮导航
  8. 线程安全,有状态,无状态的对象<转>
  9. u-boot中网口处理--硬件部分
  10. 第一次使用bootstrap3做的响应式网站