//发送文件 private void btnSendFile_Click(object sender, EventArgs e) { if (m_tempUserID == -1) { Print("没有目标用户"); } else { OpenFileDialog dlgopenFile = new OpenFileDialog(); dlgopenFile.Title = "选择需要发送的文件"; DialogResult dr = dlgopenFile.ShowDialog(); if (dr == DialogResult.OK) { if (File.Exists(dlgopenFile.FileName)) { int taskId = -1; if (AnyChatCoreSDK.TransFile(m_tempUserID, dlgopenFile.FileName, 1, 0, 0, ref taskId) == 0) { Print("文件" + dlgopenFile.FileName + "发送成功"); } } } dlgopenFile.Dispose(); dlgopenFile = null; } }
private void Received_TransBuffer(int userId, IntPtr buf, int len, int userValue) { //过滤信息() string m_Command = Marshal.PtrToStringAnsi(buf); try { if (m_Command.Length > 3) { string[] m_Packet = m_Command.Split(":".ToCharArray()); //选择是否接收文件 if (m_Packet[0] == "003" && m_Packet[3] == "file") { int m_TempUserID = Convert.ToInt32(m_Packet[1]); string m_pacName = GetUserNameByID(m_TempUserID); DialogResult r = MessageBox.Show("文件名:" + m_Packet[2].ToString() + ",是否接收?", m_pacName + "发送文件请求", MessageBoxButtons.YesNo); if (r == System.Windows.Forms.DialogResult.Yes) { FolderBrowserDialog fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() == DialogResult.OK) { receivePath = fbd.SelectedPath; string m_Message = "003:" + m_myUserID.ToString() + ":" + "fileisok:"; byte[] buffer = Encoding.Default.GetBytes(m_Message); int rett = AnyChatCoreSDK.TransBuffer(m_TempUserID, buffer, buffer.Length); } } else { string m_Message = "003:" + m_myUserID.ToString() + ":" + "fileisno:" + m_Packet[2].ToString(); byte[] buffer = Encoding.Default.GetBytes(m_Message); int rett = AnyChatCoreSDK.TransBuffer(m_TempUserID, buffer, buffer.Length); } } //发送文件 else if (m_Packet[0] == "003" && m_Packet[2] == "fileisok") { int taskId = 0; int m_TempUserID = Convert.ToInt32(m_Packet[1]); int flag = AnyChatCoreSDK.TransFile(m_TempUserID, sendPath, 1, 0, 0, ref taskId); Print("成功发送" + sendPath + "文件"); } else if (m_Packet[0] == "003" && m_Packet[2] == "fileisno") { string m_tempName = GetUserNameByID(Convert.ToInt32(m_Packet[1])); Print(m_tempName + "拒绝接收文件" + m_Packet[3].ToString()); } } } catch (Exception ex) { } }