Esempio n. 1
0
        public void HttpPostTest()
        {
            //return;//已经通过,但需要连接远程测试,太耗时,常规测试时暂时忽略。

            /*
             * 说明:在测试之前请确保url可用
             * 当前默认URL为Sample项目,可以使用Ctrl+F5打开Sample项目,确保可以访问
             */

            //随便找一个存在的测试图片
            var file = "..\\..\\..\\..\\Senparc.Weixin.MP.Sample\\Senparc.Weixin.MP.Sample\\Images\\qrcode.jpg";

            var url = "http://localhost:18666/TestUploadMediaFile/?token={0}&type={1}&contentLength={2}";

            using (FileStream fs = new FileStream(file, FileMode.Open))
            {
                url = string.Format(url, "TOKEN", UploadMediaFileType.image.ToString(), fs.Length);
            }

            //获取字符串结果
            var actualResult = RequestUtility.HttpPost(url, new CookieContainer(), file);

            Assert.IsNotNull(actualResult);
            Console.WriteLine(actualResult);

            //比较强类型示例的结果
            UploadMediaFileResult resultEntity = Post.GetResult <UploadMediaFileResult>(actualResult);

            Assert.IsNotNull(resultEntity);
            Assert.AreEqual(UploadMediaFileType.image, resultEntity.type);
            Assert.AreEqual("MEDIA_ID", resultEntity.media_id);
            Assert.AreEqual(123456789, resultEntity.created_at);
        }
Esempio n. 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="obj"></param>
 public void SetUploadResultJson(object obj)
 {
     if (obj is UploadMediaFileResult)
     {
         this.UploadResultJson = (UploadMediaFileResult)obj;
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 媒体文件上传接口
        ///注意事项
        ///1.上传的媒体文件限制:
        ///图片(image) : 1MB,支持JPG格式
        ///语音(voice):1MB,播放长度不超过60s,支持MP4格式
        ///视频(video):10MB,支持MP4格式
        ///缩略图(thumb):64KB,支持JPG格式
        ///2.媒体文件在后台保存时间为3天,即3天后media_id失效
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="type">上传文件类型</param>
        /// <param name="fileName">上传文件完整路径+文件名</param>
        /// <returns></returns>
        public static UploadMediaFileResult UploadMediaFile(string accessToken, UploadMediaFileType type, string fileName)
        {
            var cookieContainer = new CookieContainer();
            var fileStream      = FileHelper.GetFileStream(fileName);

            var url = string.Format("http://api.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}&filename={2}&filelength={3}",
                                    accessToken, type.ToString(), Path.GetFileName(fileName), fileStream != null ? fileStream.Length : 0);
            UploadMediaFileResult result = Post.PostGetJson <UploadMediaFileResult>(url, cookieContainer, fileStream);

            return(result);
        }
Esempio n. 4
0
        public void PostGetJsonTest()
        {
            return;//已经通过,但需要连接远程测试,太耗时,常规测试时暂时忽略。

            var url = "http://api.weixin.qq.com/cgi-bin/media/upload?access_token=TOKEN&type=image";

            try
            {
                //这里因为参数错误,系统会返回错误信息
                UploadMediaFileResult resultFail = Post.PostGetJson <UploadMediaFileResult>(url, cookieContainer: null, formData: null, encoding: null);
                Assert.Fail();//上一步就应该已经抛出异常
            }
            catch (ErrorJsonResultException ex)
            {
                //实际返回的信息(错误信息)
                Assert.AreEqual(ex.JsonResult.errcode, ReturnCode.验证失败);
            }
        }