Esempio n. 1
0
        /// <summary>
        /// 发送图片消息
        /// </summary>
        /// <param name="ToUserName"></param>
        /// <param name="path"></param>
        public void SendImg(string ToUserName, string filePath)
        {
            Contact ToUser = WechatAPIService.GetContact(ToUserName);

            API.Message msg = new API.Message()
            {
                MsgType  = 3,
                fileName = filePath,
                IsSend   = true,
                Remote   = ToUser,
                Mime     = WechatAPIService.Self,
            };
            Task <SendMsgImgResponse> task = api.SendImgAsync(ToUserName, filePath);

            task.ContinueWith((obj) =>
            {
                SendMsgImgResponse res = obj.Result;
                if (res != null && !string.IsNullOrEmpty(res.MsgID))
                {
                    MessageDao MsgDao = DaoMaster.GetSession().GetMessageDao();
                    msg.MsgId         = res.MsgID;
                    MsgDao.InsertMessage(msg, openContact.Seq);
                }
            });
        }
Esempio n. 2
0
        /// <summary>
        /// 异步发送图片消息
        /// </summary>
        /// <param name="FromUserName"></param>
        /// <param name="ToUserName"></param>
        /// <param name="Content"></param>
        /// <returns></returns>
        public async Task <SendMsgImgResponse> SendImgAsync(string ToUserName, string fileName)
        {
            string             FromUserName = Self.ID;
            SendMsgImgResponse val          = await Task.Run(() =>
            {
                FileInfo file = new FileInfo(fileName);
                //上传资源
                UploadmediaResponse upload = client.Uploadmedia(FromUserName, ToUserName, "WU_FILE_0", "image/png", 2, 4, file, mPass_ticket, mBaseReq);
                if (upload != null)
                {
                    ImgMsg msg             = new ImgMsg();
                    msg.FromUserName       = FromUserName;
                    msg.ToUserName         = ToUserName;
                    msg.MediaId            = upload.MediaId;
                    SendMsgImgResponse rep = client.SendMsgImg(msg, mPass_ticket, mBaseReq);
                    return(rep);
                }
                return(null);
            });

            return(val);
        }