public UploadmediaResponse Uploadmedia(string fromUserName, string toUserName, string id, string mime_type, int uploadType, int mediaType, byte[] buffer, string fileName, string pass_ticket, BaseRequest baseReq) { UploadmediaRequest req = new UploadmediaRequest(); req.BaseRequest = baseReq; req.ClientMediaId = getTimestamp(DateTime.Now); req.DataLen = buffer.Length; req.StartPos = 0; req.TotalLen = buffer.Length; req.MediaType = mediaType; req.FromUserName = fromUserName; req.ToUserName = toUserName; req.UploadType = uploadType; req.FileMd5 = UniversalTool.getMD5(buffer); string url = "https://file.wx.qq.com/cgi-bin/mmwebwx-bin/webwxuploadmedia?f=json"; string requestJson = JsonConvert.SerializeObject(req); NameValueCollection data = new NameValueCollection(); data.Add("id", id); data.Add("name", fileName); data.Add("type", mime_type); data.Add("lastModifiedDate", "Thu Mar 17 2016 14:35:28 GMT+0800 (中国标准时间)"); data.Add("size", buffer.Length.ToString()); string mt = "doc"; if (mime_type.StartsWith("image/")) { mt = "pic"; } data.Add("mediatype", mt); data.Add("uploadmediarequest", requestJson); var dataTicketCookie = http.GetCookie("webwx_data_ticket"); data.Add("webwx_data_ticket", dataTicketCookie.Value); data.Add("pass_ticket", pass_ticket); string repJsonStr = http.UploadFile_UTF8String(url, buffer, fileName, mime_type, data, Encoding.UTF8); var rep = JsonConvert.DeserializeObject <UploadmediaResponse>(repJsonStr); return(rep); }