public void UploadForeverVideoTest()
        {
            var accessToken = AccessTokenContainer.GetToken(_appId);

            var file   = @"E:\Test.mp4";
            var result = MediaApi.UploadForeverVideo(accessToken, file, "测试", "测试");

            Assert.IsNotNull(result.media_id);
            mediaId = result.media_id;
        }
Example #2
0
        public void AfterDeleteVideoTest()
        {
            var accessToken = AccessTokenContainer.GetAccessToken(_appId);

            var file   = @"E:\Test.mp4";
            var result = MediaApi.UploadForeverVideo(accessToken, file, "测试", "测试", 100000);

            Assert.IsNotNull(result.media_id);

            CustomApi.SendVideo(accessToken, "o3IHxjrPzMVZIJOgYMH1PyoTW_Tg", result.media_id, "测试", "测试");
            MediaApi.DeleteForeverMedia(accessToken, result.media_id);
        }
Example #3
0
        /// <summary>
        ///     上传站点资源
        /// </summary>
        /// <param name="resoureType"></param>
        /// <param name="file"></param>
        /// <param name="db"></param>
        /// <returns></returns>
        public static Site_FileBase Upload(Site_ResourceType resoureType, string fileName, byte[] fileStream,
                                           AppDbContext db, out AjaxResponse ajaxMessage)
        {
            ajaxMessage = new AjaxResponse {
                Success = true
            };
            var fileSaveName = Guid.NewGuid().ToString("N") + Path.GetExtension(fileName);
            var tenantId     = WeiChatApplicationContext.Current.TenantId;

            var dirName = tenantId.ToString();
            var path    = Path.Combine(HttpContext.Current.Server.MapPath("~/MediaFiles"), dirName);

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            path = Path.Combine(path, fileSaveName);
            File.WriteAllBytes(path, fileStream);
            UploadForeverMediaResult result = null;

            result = resoureType.ResourceType == SiteResourceTypes.Video
                ? MediaApi.UploadForeverVideo(WeChatConfigManager.Current.GetAccessToken(), path, fileName, "test")
                : MediaApi.UploadForeverMedia(WeChatConfigManager.Current.GetAccessToken(), path);
            if (!string.IsNullOrWhiteSpace(result.errmsg))
            {
                ajaxMessage.Success = false;
                ajaxMessage.Message = result.errmsg;
            }
            else
            {
                switch (resoureType.ResourceType)
                {
                case SiteResourceTypes.Gallery:
                {
                    var pic = new Site_Image
                    {
                        IsFrontCover    = false,
                        MediaId         = result.media_id,
                        Name            = fileName,
                        SiteUrl         = string.Format("/MediaFiles/{0}/{1}", dirName, fileSaveName),
                        Url             = result.url,
                        ResourcesTypeId = resoureType.Id,
                        CreateBy        = HttpContext.Current.User.Identity.GetUserId(),
                        CreateTime      = DateTime.Now,
                        TenantId        = tenantId
                    };
                    db.Site_Images.Add(pic);
                    db.SaveChanges();
                    return(pic);
                }
                break;

                case SiteResourceTypes.Voice:
                {
                    var voice = new Site_Voice
                    {
                        MediaId         = result.media_id,
                        Name            = fileName,
                        SiteUrl         = string.Format("/MediaFiles/{0}/{1}", dirName, fileSaveName),
                        Url             = result.url,
                        ResourcesTypeId = resoureType.Id,
                        CreateBy        = HttpContext.Current.User.Identity.GetUserId(),
                        CreateTime      = DateTime.Now,
                        TenantId        = tenantId
                    };
                    db.Site_Voices.Add(voice);
                    db.SaveChanges();
                    return(voice);
                }
                break;

                case SiteResourceTypes.Video:
                {
                    var video = new Site_Video
                    {
                        MediaId         = result.media_id,
                        Name            = fileName,
                        SiteUrl         = string.Format("/MediaFiles/{0}/{1}", dirName, fileSaveName),
                        Url             = result.url,
                        ResourcesTypeId = resoureType.Id,
                        CreateBy        = HttpContext.Current.User.Identity.GetUserId(),
                        CreateTime      = DateTime.Now,
                        TenantId        = tenantId
                    };
                    db.Site_Videos.Add(video);
                    db.SaveChanges();
                    return(video);
                }
                break;

                default:
                    ajaxMessage.Success = false;
                    ajaxMessage.Message = "不支持上传此类型";
                    break;
                }
            }
            return(null);
        }