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)); }