客户端向服务器发送文件靠按钮实现
程序弹出 打开 对话框
供用户选择要发送的文件及路径
然后,根据路径,创建文件对象 打开文件进行读取
直到读取成功
最后 将缓冲区中的数据发送到服务器
代码如下
void CMyDlg::OnLiulan() //发送文件按钮消息响应函数
{
char text[100]; //定义字符数组
CFileDialog file(true); //定义文件对话框对象
if(file.DoModal()==IDOK) //显示文件保存对话框
{
CString str; //定义字符串变量
str=file.GetFileTitle(); //获取文件名
::send(s,str.GetBuffer(1),sizeof(str)); //发送文件名到服务器
str=file.GetPathName(); //获取文件保存路径
CFile file1(str,CFile::modeReadWrite); //创建文件对象
file1.Read(text,100); //读取文件数据
while(text!=EOF) //判断文件是否结束
{
file1.Read(text,100); //读取100字节文件数据
::send(s,&text,100); //发送文件数据到服务器
}
GetDlgItem(IDC_LIULAN)->SetWindowText("发送完成");
//提示用户发送数据完成
file1.Close()//关闭文件
}
}
当用户创建CFileDialog类对象时
如果构造函数参数为true
则程序将显示文件打开对话框