public async Task <FileStream> CompressImage(Stream imageData, int Quality) { await Task.Yield(); string path = System.IO.Path.Combine(Kit.Tools.Instance.TemporalPath, $"{Guid.NewGuid():N}.jpeg"); using (NSData nsData = NSData.FromStream(imageData)) { using (UIImage uiimage = UIImage.LoadFromData(nsData)) { using (Stream compressed = uiimage.AsJpegStream(Quality)) { FileStream stream = new FileStream(path, FileMode.OpenOrCreate); await compressed.CopyToAsync(stream); return(stream); } } } }
private async Task <OperationResult <MediaModel> > UploadPhoto() { Stream stream = null; try { stream = ImageAsset.AsJpegStream(); var request = new UploadMediaModel(BasePresenter.User.UserInfo, stream, ImageExtension); return(await _presenter.TryUploadMedia(request)); } catch (Exception ex) { AppSettings.Reporter.SendCrash(ex); return(new OperationResult <MediaModel>(new ApplicationError(Localization.Errors.PhotoProcessingError))); } finally { stream?.Flush(); stream?.Dispose(); } }