A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王针 中级黑马   /  2012-6-1 15:51  /  1555 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王针 于 2012-6-1 15:52 编辑

我在做那个聊天室的程序,发现我跟视频里代码一样(就变量命名变了一下而已),可是还是无法弹出文件另存为的窗口,到底是为什么啊?
  1. #region 客户端发送文件
  2. private void btnFileSend_Click(object sender, EventArgs e)
  3. {
  4.     using (FileStream fs = new FileStream(txtFileBrowse.Text, FileMode.Open))
  5.     {
  6.         byte[] fileSave = new byte[1024 * 1024 * 2];
  7.         int length = fs.Read(fileSave, 0, fileSave.Length);//daikaolv
  8.         byte[] fileToSend = new byte[length + 1];
  9.         fileToSend[0] = 1;//1表示文件
  10.         Buffer.BlockCopy(fileSave, 0, fileToSend, 1, length);
  11.         sokConnection.Send(fileToSend);
  12.         ShowMsg("发送了文件:【" + Path.GetFileName(txtFileBrowse.Text) + "】");
  13.     }
  14. }
  15. #endregion
复制代码
  1. void RcvMsg(object sokConnection)
  2. {
  3.     Socket sok = sokConnection as Socket;
  4.     while (true)
  5.     {
  6.         byte[] msgToRcv = new byte[1024 * 1024 * 2];
  7.         int length = sok.Receive(msgToRcv);
  8.         if (0 == msgToRcv[0])
  9.         {
  10.             string strMsg = System.Text.Encoding.Default.GetString(msgToRcv, 1, length - 1);
  11.             ShowMsg("收到信息:【" + strMsg + "】");
  12.         }

  13.         else if(1 == msgToRcv[0])
  14.         {
  15.             SaveFileDialog sfd=new SaveFileDialog();
  16.             if (sfd.ShowDialog() == DialogResult.OK)
  17.             {
  18.                 using (FileStream fs = new FileStream(sfd.FileName, FileMode.Create))
  19.                 {
  20.                     fs.Write(msgToRcv, 1, length - 1);
  21.                     ShowMsg("保存成功:" + sfd.FileName);
  22.                 }
  23.             }
  24.         }
  25.     }
  26. }
复制代码

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马