设为首页 加入收藏

TOP

4.3.4 上传文件
2013-10-07 13:01:39 来源: 作者: 【 】 浏览:84
Tags:4.3.4 上传 文件

4.3.4  上传文件

向FTP服务器上传文件的功能是当用户使用FTP客户端时,会经常使用到的一个功能。若想实现该功能,上传文件的命令应该是STOR或者*STOU。STOR命令会覆盖原有文件,而*STOU命令则不覆盖已经存在的文件。当上传命令发送后,用户便可以直接传送文件。代码如下:

  1. m_archive->WriteString("STOR "+"\r\n");   
  2.                         //调用CArchive类的WriteString()函数发送STOR命令  
  3. char buff[1024]={0};            //设置缓冲区  
  4. SOCKET sock;                    //与服务器建立连接成功后返回的套接字句柄  
  5. CFile file("list.txt",CFile::modeReadWrite);  
  6.                                 //关联文件并指定文件属性为可读可写  
  7. file.Read(buff,1024);           //读取文件内容到缓冲区中  
  8. file.close();                   //读取完毕,关闭文件  
  9. ::Send(sock,buff,1024,NULL);    //调用Send()函数发送文件内容到FTP文件 

在代码中,用户必须先发送STOR命令到服务器,再将本地文件的内容读取到指定的缓冲区中,利用函数Send()传送到服务器。这里利用4.3.3节中与服务器连接成功后返回的套接字进行传送数据。

注意:用户上传文件到FTP服务器时,如果不希望覆盖原有的文件,则应该将STOR命令改为*STOU命令。

因为大部分文件的结束表示都是EOF,所以当用户需要上传比较大的文件时,应该利用循环读取文件的方式进行编程(www.cppentry.com)。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.3.5 下载文件 下一篇11.3.3 如何构造并发送一封邮件

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: