Example #1
0
        public static bool DownloadMediaFileS(ReceiveMessageBase rmb)
        {
            if (rmb is VoiceReceiveMessage)
            {
                VoiceReceiveMessage  _vrm     = rmb as VoiceReceiveMessage;
                DownloadMediaRequest _request = new DownloadMediaRequest();
                _request.AppIdInfo   = new DefAppIdInfo();
                _request.AccessToken = WxAccToken.AccessTokenStr;
                _request.MediaId     = _vrm.MediaId;
                string fileName = AppDomain.CurrentDomain.BaseDirectory;
                if (!fileName.EndsWith("\\"))
                {
                    fileName += "\\";
                }
                fileName        += "WxVoice\\";
                _request.SaveDir = fileName;

                //Logger.WriteTxtLog("语音ID:" + _vrm.MediaId);
                IMpClient             mpClient  = new MpClient();
                DownloadMediaResponse _response = mpClient.Execute(_request);
                if (_response.IsError)
                {
                    return(false);
                }
                string _filename = _response.SaveFileName;
                _filename = _filename.Substring(_filename.LastIndexOf('\\') + 1);
                //Logger.WriteTxtLog("语音ID:" + _filename);
                SchoolData.语音记录(_filename);
            }
            return(true);
        }
Example #2
0
        /// <summary>
        /// 多媒体文件下载接口测试
        /// </summary>
        public static void MediaDownloadTest()
        {
            IMpClient            mpClient = new MpClient();
            DownloadMediaRequest request  = new DownloadMediaRequest()
            {
                AccessToken = accessToken, //获取的token
                MediaId     = "zdpXaz1_16N37z4CY9mMsxbQoUvOCFnKnaFWPWhtKmqqmMqh9Cbwdlw9Q1J0r3jO",
                SaveDir     = "D:\\"
            };

            DownloadMediaResponse response = mpClient.Execute(request);

            if (response.IsError)
            {
                Console.WriteLine("下载多媒体发生错误,错误编码为:{0},错误消息为:{1}", response.ErrInfo.ErrCode, response.ErrInfo.ErrMsg);
            }
            else
            {
                Console.WriteLine("文件下载成功,保存路径为:{0}", response.SaveFileName);
            }
        }
Example #3
0
        public static string GetIMGURLByMediaID(string mediaid)
        {
            string filepath = "/upload/service/";
            string phypath  = HttpContext.Current.Server.MapPath(filepath);

            if (!Directory.Exists(phypath))
            {
                Directory.CreateDirectory(phypath);
            }
            DownloadMediaResponse response = null;
            int    retry      = 0;
            string mAppId     = PaymentConfig.WeiXinConfig.AppID;
            string mAppSecret = PaymentConfig.WeiXinConfig.AppSecret;

            do
            {
                IMpClient            mpClient = new MpClient();
                DownloadMediaRequest request  = new DownloadMediaRequest()
                {
                    AppIdInfo = new AppIdInfo()
                    {
                        AppID = mAppId, AppSecret = mAppSecret
                    },
                    AccessToken = GetAccessToken(null),
                    MediaId     = mediaid,
                    SaveDir     = phypath,
                };
                response = mpClient.Execute(request);
                retry++;
            } while (retry < 2 && response.IsError);
            if (response.IsError)
            {
                LogHelper.WriteInfo("GetIMGURLByMediaID失败", "获取图片素材(" + mediaid + ")基本信息失败,错误信息为:" + response.ErrInfo.ErrCode + "-" + response.ErrInfo.ErrMsg);
                return(string.Empty);
            }
            else
            {
                return(filepath + response.SaveFileName);
            }
        }