public async Task <string> DownloadByIdAsync(string Id, string name, string filePath, string downloadPath) { var photoClient = new RestClient(_getSizedURI); var pRequest = new RestRequest(); pRequest.AddParameter("nojsoncallback", 1); pRequest.AddParameter("format", _format); pRequest.AddParameter("photo_id", Id); pRequest.AddParameter("api_key", _apiKey); var photoQueryResult = await ExecuteAsync(photoClient, pRequest); if (photoQueryResult.StatusCode == System.Net.HttpStatusCode.OK) { var photoResponse = JsonConvert.DeserializeObject <PhotoSizesResponse>(photoQueryResult.Content); var originalSizeUri = photoResponse.Sizes.Size.FirstOrDefault(s => s.Label == "Original").Source.ToString(); using (WebClient client = new WebClient()) { if (string.IsNullOrEmpty(filePath)) { filePath = ImageNameManager.ResultPathGenerator(originalSizeUri, downloadPath, name); } if (!File.Exists(filePath)) { await client.DownloadFileTaskAsync(new Uri(originalSizeUri), filePath); } return(filePath); } } return(null); }
public async Task InitializeAsync(ImageDetailNavigationParams imageDetailNavigationArgs, NavigationMode navigationMode) { Source = imageDetailNavigationArgs.Source; _count = _hTTPService.GetCount(); if (_count != 0) { if (!string.IsNullOrEmpty(imageDetailNavigationArgs.Id) && navigationMode == NavigationMode.New) { SelectedImage = Source.FirstOrDefault(i => i.Id == imageDetailNavigationArgs.Id); } else if (!string.IsNullOrEmpty(imageDetailNavigationArgs.Name) && navigationMode == NavigationMode.New) { SelectedImage = Source.FirstOrDefault(i => i.Name == imageDetailNavigationArgs.Name); } else { var selectedImageId = await ApplicationData.Current.LocalSettings.ReadAsync <string>(SpotlightViewModel.ImageGallerySelectedIdKey); if (!string.IsNullOrEmpty(selectedImageId)) { SelectedImage = Source.FirstOrDefault(i => i.Id == selectedImageId); } } SelectedImage.URI = await _hTTPService.DownloadByIdAsync(ImageNameManager.GetId(SelectedImage.Name), SelectedImage.Name, null, _iOManager.DownloadPath); RaisePropertyChanged(nameof(SelectedImage)); var animation = ConnectedAnimationService.GetForCurrentView().GetAnimation(SpotlightViewModel.ImageGalleryAnimationOpen); animation?.TryStart(_image); } }
public async Task DownloadImage(string Url, string id = null, string name = null, string Path = null) { string _path = Path ?? DownloadPath; var newName = name.Replace(" ", string.Empty).Replace("'", string.Empty).Replace("(", string.Empty).Replace(")", string.Empty); using (WebClient client = new WebClient()) { var path = ImageNameManager.ResultPathGenerator(Url, _path, id, newName); if (!File.Exists(path)) { if (!Directory.Exists(new FileInfo(path).Directory.FullName)) { Directory.CreateDirectory(new FileInfo(path).Directory.FullName); } try { await client.DownloadFileTaskAsync(new Uri(Url), path); } catch (Exception ex) { //throw new Exception("couldnt download Image",ex); } } } }
public async Task <ObservableCollection <ImageDTO> > GetGalleryDataAsync(int page, bool IsTemplate = true) { StorageFolder dataFolder; if (IsTemplate) { dataFolder = await StorageFolder.GetFolderFromPathAsync(Path.Combine(_iOManager.TemplatePath, page.ToString())); } else { dataFolder = await StorageFolder.GetFolderFromPathAsync(Path.Combine(_iOManager.DownloadPath, page.ToString())); } var data = new ObservableCollection <ImageDTO>(); var items = await dataFolder.GetItemsAsync(); var ListItems = items.ToList(); foreach (var item in ListItems) { var id = ImageNameManager.GetId(item.Name); data.Add(new ImageDTO() { URI = item.Path, Id = id.ToString(), Name = item.Name }); } return(data); }
public async Task MoveRight() { var newId = GetNewId(false); if (Source.Any(e => e.Id == newId)) { SelectedImage = Source.FirstOrDefault(e => e.Id == newId); SelectedImage.URI = await _hTTPService.DownloadByIdAsync(newId, SelectedImage.Name, ImageNameManager.ResultPathGenerator(SelectedImage.URI, _iOManager.DownloadPath, SelectedImage.Id, SelectedImage.Name), null); RaisePropertyChanged(nameof(SelectedImage)); } }
public async Task <string> DownLoadSelectedAsync() { return(await _hTTPService.DownLoadAsync(new Uri(SelectedImage.URI), ImageNameManager.ResultPathGenerator(SelectedImage.URI, _iOManager.DownloadPath, SelectedImage.Id, SelectedImage.Name))); }