Exemple #1
0
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="ACCESS_TOKEN"></param>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public bool UploadMedia(Stream stream)
        {
            if (stream == null || stream.Length == 0)
            {
                throw new Exception("stream has not data");
            }
            string    wxurl       = "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=" + this.Access_Token + "&type=" + this.Type;
            WebClient myWebClient = new WebClient();

            myWebClient.Credentials = CredentialCache.DefaultCredentials;
            try
            {
                byte[] buffer = new byte[stream.Length];
                stream.Write(buffer, 0, buffer.Length);
                byte[] responseArray = myWebClient.UploadData(wxurl, "POST", buffer);
                var    value         = System.Text.Encoding.Default.GetString(responseArray, 0, responseArray.Length);
                this.Result = WeiXinCommon.DeSerialize <UploadResult>(value);

                if (this.Result == null)
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }
Exemple #2
0
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="ACCESS_TOKEN"></param>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public bool UploadMedia(string fileName)
        {
            if (!File.Exists(fileName))
            {
                throw new Exception("file is not exist");
            }
            string    wxurl       = "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=" + this.Access_Token + "&type=" + this.Type;
            WebClient myWebClient = new WebClient();

            myWebClient.Credentials = CredentialCache.DefaultCredentials;
            try
            {
                byte[] responseArray = myWebClient.UploadFile(wxurl, "POST", fileName);
                var    value         = System.Text.Encoding.Default.GetString(responseArray, 0, responseArray.Length);

                //Web.Common.LogHelper.SetException(new Exception("接受上传数据\r\n"+value));

                this.Result = WeiXinCommon.DeSerialize <UploadResult>(value);

                if (this.Result == null)
                {
                    throw new WeiXinException("Result is null");
                    return(false);
                }
            }
            catch (Exception ex)
            {
                //Web.Common.LogHelper.SetException(ex);
                return(false);
            }
            return(true);
        }
Exemple #3
0
        /// <summary>
        /// 得到具体的消息处理实例
        /// </summary>
        /// <param name="xml"></param>
        /// <returns></returns>
        public static RequestMessage GetInstance(string xml)
        {
            XmlDocument    doc     = new XmlDocument();
            RequestMessage message = null;

            try
            {
                doc.LoadXml(xml);
                XmlNode firstNode = doc.FirstChild;
                if (firstNode == null)
                {
                    return(null);
                }
                //消息类型
                XmlNode tempNode = firstNode.SelectSingleNode("MsgType");
                if (tempNode == null)
                {
                    return(null);
                }
                message = GetInstance(WeiXinCommon.ToEnum <MessageType>(tempNode.InnerText));
                if (message != null)
                {
                    message.Node = firstNode;
                    return(message.Parse());
                }
                return(message);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Exemple #4
0
 public override string ToString()
 {
     return(WeiXinCommon.Serialize(this));
 }