private void SendImage_Click(object sender, EventArgs e) { if (!this.SendMessageEnabled) { return; } using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.Filter = "图像文件|*.png;*.jpg;*.bmp;"; if (ofd.ShowDialog(this) == DialogResult.OK) { string fileName = ofd.FileName; Image smallImg = LanImage.GetThumbnailImage(fileName, MessageListBox.PICTURE_THUMBNAIL_HEIGHT); if (smallImg == null) { //可能不是合法的图片 return; } long id = User.SendImage(Contacter, fileName); //保存发送记录,只保存缩略图,原图的Path也保存 Store.Models.ImageMessage m = new Store.Models.ImageMessage(smallImg); m.FromUserId = this.User.ID; m.ToUserId = this.Contacter.ID; m.OriginPath = fileName; m.Flag = true; //默认成功,后面按照失败结果设定为false MessageListItem item = new MessageListItem(); item.ID = id; item.State = MessageState.Sending; item.Message = m; item.User = this.User; item.Save(); AddMessageItem(item, true); OnSendMessage(m); } } }
public void AddReceivedImageMessage(LanUser from, long id, Image image) { //保存记录 Store.Models.ImageMessage m = new Store.Models.ImageMessage(image); m.FromUserId = from.ID; m.ToUserId = this.OwnerUser.ID; m.OriginPath = ""; m.Flag = true; //默认成功,后面按照失败结果设定为false MessageListItem item = new MessageListItem(); item.ID = id; item.State = MessageState.Received; item.Message = m; item.User = from; item.Save(); AddMessageListItem(from, item); }