网上的许多FTP客户端软件都具有文件的上传和下载功能,例如CuteFTP、LeapFTP、LeachFTP等。在Visual C++中该如何实现类似的功能呢?
本节将介绍如何下载FTP服务器上的文件。
程序设计步骤如下。
(1)在IIS管理器中新建一个FTP站点,设置其端口号为“22”。
(2)新建一个基于对话框的应用程序,在对话框的源文件中引用“afxinet.h”头文件。
(3)在对话框的OnInitDialog方法中连接指定的FTP服务器,将FTP根目录下的文件显示在列表中。
CInternetSession* pSession;
pSession = new CInternetSession; //构造新的连接
CFtpConnection* pFtpCon;
pFtpCon = pSession->GetFtpConnection("192.168.1.23",NULL,NULL,22); //连接FTP服务器
CFtpFileFind ftpfind(pFtpCon);
if (ftpfind.FindFile(NULL)) //查找所有的文件
{
CString str ;
while ( ftpfind.FindNextFile())
{
if (!ftpfind.IsDirectory()) //判断是否是目录
{
str = ftpfind.GetFileName();
m_list.AddString(str);
}
}
if (!ftpfind.IsDirectory())
{
str = ftpfind.GetFileName();
m_list.AddString(str);
}
}
delete pSession;
(4)下载FTP服务器上的指定文件,代码如下。
CInternetSession* pSession;
pSession = new CInternetSession;
CFtpConnection* pFtpCon;
pFtpCon = pSession->GetFtpConnection("192.168.1.23",NULL,NULL,22);
CString selfile;
m_list.GetText( m_list.GetCurSel(),selfile);
if (!selfile.IsEmpty())
{
pFtpCon->GetFile(selfile,"c://"+selfile); //下载文件到C盘
}
VC程序下载FTP服务器上的文件
最新推荐文章于 2024-08-19 19:56:11 发布