VC操作FTP服务器上传与下载资料

本文介绍如何使用Server-U搭建FTP服务器,并通过VC实现文件的上传和下载功能。首先需要安装配置Server-U,设置用户权限,确保支持上传和下载操作。然后利用CInternetSession和CFtpConnection对象在VC中实现与FTP服务器的连接。

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

        刚做完的项目中,有个远程升级的功能是通过FTP服务器实现的,总结一下遇到知识点。

       首先要搭建一个FTP服务器,网上可以找到很多软件,我用的是server-u,方便简单。设置完毕后,要修改FTP用户权限(默认只是读取),可增加写入、删除等权限。

这时可以用dos命令进行简单的测试,dos窗口输入:1.ftp;2.open  127.0.0.1  2121(端口号),ftp默认端口为21,可以省去,其他端口都不可以省略。然后输入用户名和密码就可以登录。通过bin、put、get可以上送、下载文件了。一般用bin模式较为安全些。也可以通过页面方式 进行测试  如  ftp:\\127.0.0.1:2121 的方式登录。

      下面是vc实现ftp服务的下载和上送资料:

       第一步:声明对象并初始化

       CInternetSession *pInternetSession;
       CFtpConnection *pFtpConnection;

       成员函数实现初始化

      // get the name of the app
      int iRet = strAppName.LoadString(AFX_IDS_APP_TITLE);

      // create an internet session
      pInternetSession = new CInternetSession(strAppName,
      INTERNET_OPEN_TYPE_PRECONFIG);

     析构函数

      pInternetSession->Close();
      // delete the session
      if(pInternetSession != NULL)
          delete pInternetSession;
      pInternetSession->Close();
      // delete the session
     if(pInternetSession != NULL)
          delete pInternetSession;

 

       第二步:连接FTP服务器 server(IP)

       pFtpConnection = pInternetSession->GetFtpConnection(server,
      strUser,strPass, port, FALSE);

 

      第三步:下载文件 两个参数,FTP文件目录+文件名、本机下载目录+文件名
      // Try to get the file
      BOOL bGotFile = pFtpConnection->GetFile(remoteFile,
      localFile,FALSE,FILE_ATTRIBUTE_NORMAL, 
      FTP_TRANSFER_TYPE_BINARY | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE);

 

     第四步:上传文件 (注:FTP服务器一定要允许上传文件),两个参数,本机下载目录+文件名、FTP文件目录+文件名

     BOOL bPutFile = pFtpConnection->PutFile(pstrLocalFile, pstrRemoteFile);

    

      通过以上操作,便可以实现简单的FTP上传、下载文件了。
BOOL bPutFile = pFtpConnection->PutFile(pstrLocalFile, pstrRemoteFile);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值