예제 #1
0
 public async override void GetImageByImageUrl(MangaPageItem pageItem, SaveType saveType = SaveType.Temp)
 {
     string imgUrl = pageItem.WebImageUrl;
     //Get Image 
     //To Do
     string fileRealPath = "/Assets/ApplicationIcon.png";
     pageItem.SetImage(fileRealPath);
     return;
 }
예제 #2
0
 /// <summary>
 ///   get web image and save into temp folder, return local path uri
 /// </summary>
 public  Task<string> GetIamgeByImageUrl(MangaPageItem page)
 {
     return Task.Run<string>(() =>
     {
         //Get Image
         MangaPattern mPattern = WebSiteAccess.GetMangaPatternInstance(WebType);
         mPattern.GetImageByImageUrl(page);
         return "";
     });
 }
예제 #3
0
        public override string GetImageByImageUrl(MangaPageItem page, SaveType saveType = SaveType.Temp)
        {
            string imgUrl = GetImageUrl(page.PageUrl);
            return imgUrl;

            ////Get Image
            //string extention = imgUrl.Substring(imgUrl.LastIndexOf("."));
            //HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imgUrl);
            //CookieContainer cc = new CookieContainer();
            //var res = request.GetResponseAsync();
            //HttpWebResponse myResponse = (HttpWebResponse)res.Result;
            //string folder = page.Chapter.Menu.Title + "\\" + page.Chapter.Title + "\\" ;
            //var res2 = FileService.SaveFile(myResponse.GetResponseStream(), (int)myResponse.ContentLength, folder, page.PageNum + extention,saveType);
            //string path = res2;
            //return path;
        }
예제 #4
0
        public  Task<ObservableCollection<MangaPageItem>> GetPageList(MangaChapterItem chapter)
        {

            return Task.Run<ObservableCollection<MangaPageItem>>(() =>
            {

                MangaPattern mPattern = WebSiteAccess.GetMangaPatternInstance(WebType);
                List<string> pageUrlList = mPattern.GetPageList(chapter.Url);
                ObservableCollection<MangaPageItem> mangaPageList = new ObservableCollection<MangaPageItem>();

                for (int i = 1; i <= pageUrlList.Count; i++)
                {
                    //string imagePath = mPattern.GetImageUrl(pageUrlList[i-1]);
                    MangaPageItem item = new MangaPageItem("page-" + i, string.Empty, pageUrlList[i - 1], chapter, i, pageUrlList.Count);
                    item.WebImageUrl = mPattern.GetImageUrl(item.PageUrl, item.PageNum);
                    mangaPageList.Add(item);

                }
                return mangaPageList;
            });
        }
예제 #5
0
 public async override void GetImageByImageUrl(MangaPageItem pageItem, SaveType saveType = SaveType.Temp)
 {
     string imgUrl = pageItem.WebImageUrl;
     //Get Image 
     //To Do
     string fileRealPath = await DownloadImgPage(imgUrl, pageItem, saveType,WEBSITEURL);
     pageItem.SetImage(fileRealPath);
     return;
 }
예제 #6
0
 public void GetPageImage(MangaPageItem pageItem)
 {
     MangaPattern mPattern = WebSiteAccess.GetMangaPatternInstance(WebType);
     mPattern.GetImageByImageUrl(pageItem, SaveType.Temp);
 }
예제 #7
0
파일: Base.cs 프로젝트: king89/MangaViewer
        public async virtual Task<string> DownloadImgPage(string imgUrl, MangaPageItem pageItem, SaveType saveType,string refer = "")
        {
            string folderName = Constant.MANGAFOLDER + "\\" + this.GetType().Name + "_" + pageItem.Chapter.Menu.Title + "_" + pageItem.Chapter.Title;
            string fileName = System.IO.Path.GetFileName(imgUrl);

            HttpClient client = new HttpClient();
            string UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5";

            client.DefaultRequestHeaders.UserAgent.TryParseAdd(UserAgent);
            if (refer != "")
            {
                client.DefaultRequestHeaders.Referrer = new Uri(refer);
            }
            else
            {
                client.DefaultRequestHeaders.Referrer = new Uri(pageItem.PageUrl);
            }
            // Call asynchronous network methods in a try/catch block to handle exceptions 
            try
            {
                HttpResponseMessage response = await client.GetAsync(imgUrl);
                response.EnsureSuccessStatusCode();
                var responseBody = await response.Content.ReadAsStreamAsync();
                // Above three lines can be replaced with new helper method below 
                // string responseBody = await client.GetStringAsync(uri);
                string fileRealPath = await FileService.SaveFileInTemp(folderName, fileName, responseBody);
                responseBody.Close();
                return fileRealPath;
            }
            catch (Exception e)
            {
                return "";
            }
            
        }
예제 #8
0
파일: Base.cs 프로젝트: king89/MangaViewer
 public virtual void GetImageByImageUrl(MangaPageItem page,SaveType saveType=SaveType.Temp) { return ; }