Beispiel #1
0
        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);
        }