向FTP服务器上传文件的功能是当用户使用FTP客户端时
会经常使用的一个功能
想实现该功能
上传文件的命令应该是STOR 或者 STOU
STOR命令覆盖原有文件
而STOU命令则不覆盖已经存在的文件
当上传命令发送后
用户可以直接传送文件
m_archive->WriteString("STOR "+"\r\n");
//调用CArchive类的WriteString()函数发送STOR命令
char buff[1024]={0} //设置缓冲区
SOCKET sock; //与服务器建立连接成功后返回的套接字句柄
CFile file("list.txt",CFile::modeReadWrite);//关联文件并指定文件属性为可读可写
file.Read(buff,1024); //读取文件内容到缓冲区
file.close(); //读取完毕,关闭文件
::Send(sock,buff,1024,NULL); //调用Send()函数发送文件内容到FTP文件
在代码中 用户必须先发送STOR命令到服务器
再将本地文件的内容读取到指定的缓冲区中
利用函数Send()传送到服务器
服务器连接成功后返回的套接字进行传送数据
因为大部分文件的结束表示EOF
所以当用户需要上传比较大的文件时
应该利用循环读取文件的方式进行编程