利用MFC的CFtpConnection类实现递归下载文件夹

本文介绍了如何利用MFC的CInternetSession和CFtpConnection类,实现递归下载FTP服务器上的整个文件夹,详细阐述了相关类的接口使用和递归下载的编码实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、用到的CInternetSession、CFtpConnection类的接口


二、编码实现

/*
 参数说明: 
 remotefile   要下载的ftp目录或文件,如"/杭州/滨江/五水共治.rar"
 localpath    保存到本地的目录,如"D:\\Download"
 isDir        指明要下载的是文件还是文件夹
 ftpaddr      ftp服务器地址
 username   登陆ftp服务器的用户名
 ftpPass       登陆f密码 
*/
BOOL DownloadFromFTP(CString remotepath,CString localpath,BOOL isDir,CString ftpaddr,CString username,CString password,int port)
{
    int index = remotepath.ReverseFind('/');
    if (index == -1)
    {
        return FALSE;
    }
    CString remotefile = remotepath.Mid(index+1,remotepath.GetLength());
    CInternetSession sess(_T("Download Files Session"));
    CFtpConnection* pFtpCon = NULL;
    try
    {
        pFtpCon = sess.GetFtpConnection(ftpaddr,username,password,port);
        if (pFtpCon == NULL)    //如果连接失败
        {
            return F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值