Example #1
0
        public async Task <IHttpActionResult> Get(string id)
        {
            var data  = MediaApi.GetForeverNews(AccessToken, id);
            var model = new MaterialNewsViewModel
            {
                Id           = id,
                Title        = data.news_item.First().title,
                ThumbMediaId = data.news_item.First().thumb_media_id,
                Digest       = data.news_item.First().digest,
                Url          = data.news_item.First().url
            };
            var path = HttpContext.Current.Server.MapPath("~/MediaFiles");

            path = Path.Combine(path, "thumb");
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            var mediaPath = Path.Combine(path, model.ThumbMediaId + ".jpg");

            if (!File.Exists(mediaPath))
            {
                using (var stream = File.Create(mediaPath))
                {
                    MediaApi.GetForeverMedia(AccessToken, model.ThumbMediaId, stream);
                }
            }
            return(Ok(model));
        }
        public void GetForeverMediaTest()
        {
            var mediaId     = UploadForeverMediaTest();
            var accessToken = AccessTokenContainer.GetToken(_appId);

            using (MemoryStream stream = new MemoryStream())
            {
                MediaApi.GetForeverMedia(accessToken, mediaId, stream);
                Assert.IsTrue(stream.Length > 0);

                var fileName = @"..\..\AdvancedAPIs\Media\test.download." + DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".jpg";
                using (var fs = new FileStream(fileName, FileMode.CreateNew))
                {
                    stream.Seek(0, SeekOrigin.Begin);
                    stream.CopyTo(fs);
                    fs.Flush();
                }
            }
        }
        public ActionResult GetNewsJson(int pageIndex = 1, int pageSize = 6)
        {
            var data     = MediaApi.GetNewsMediaList(AccessToken, (pageIndex - 1) * pageSize, pageSize);
            var dataList = data.item
                           .Select(p =>
                                   new MaterialNewsViewModel
            {
                Id           = p.media_id,
                Title        = p.content.news_item.First().title,
                UpdateTime   = p.update_time.ConvertToDateTime(),
                ThumbMediaId = p.content.news_item.First().thumb_media_id,
                Digest       = p.content.news_item.First().digest,
                Url          = p.content.news_item.First().url
            });
            var path = Server.MapPath("~/MediaFiles");

            path = Path.Combine(path, "thumb");
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            foreach (var item in dataList)
            {
                var mediaPath = Path.Combine(path, item.ThumbMediaId + ".jpg");
                if (!System.IO.File.Exists(mediaPath))
                {
                    using (var fs = System.IO.File.Create(mediaPath))
                    {
                        MediaApi.GetForeverMedia(AccessToken, item.ThumbMediaId, fs);
                        fs.Close();
                    }
                }
            }
            var pagedList = new DataPageListViewModel <MaterialNewsViewModel>(dataList, pageIndex, pageSize,
                                                                              data.total_count);

            return(Json(pagedList, JsonRequestBehavior.AllowGet));
        }