private async Task LoadImageFromUri(Uri actualImageUri) { try { image = new CachedImage(); image.DownsampleToViewSize = true; image.Error += (s, e) => { ImageChooserOptionsData?.ExceptionOccurredAction?.Invoke(e.Exception); }; centerContentView.Content = image; if (actualImageUri == null) { return; } if (actualImageUri.IsFile || actualImageUri.IsUnc) { CurrentMediaFile = await FileSystem.Current.GetFileFromPathAsync(actualImageUri.AbsolutePath.ToString()); //image.Source = ImageSource.FromUri(actualImageUri); } else { var imagebuffer = await DownloadHelper.DownloadAsByteArray(actualImageUri); var file = await GetTempNewFile(); await file.SaveByteArrayToThisFile(imagebuffer); CurrentMediaFile = file; } TouchAndChangeImageSource(CurrentMediaFile.Path); } catch (Exception ex) { ImageChooserOptionsData?.ExceptionOccurredAction?.Invoke(ex); } finally { IsLoading = false; } }