Hello All,
I have used below code to get image from either gallery or from camera. It works fine in both windows and Android platforms, but it's not working in Iphone. May I know what is the problem and how to resolve it.
public static class ImageUpload
{
public static IMediaPicker _mediaPicker;
public static MediaFile mediaFile;
public static IDevice _device;
public static readonly TaskScheduler _scheduler = TaskScheduler.FromCurrentSynchronizationContext();
public static string Status { get; set; }
public static string _path;
////////////////////////////////// Choose Image From Gallery //////////////////////////////////
public static async Task<MediaFile> ChoosePicture(int maxPixel, string imageChosenType)
{
try
{
_mediaPicker = DependencyService.Get<IMediaPicker>() ?? Resolver.Resolve<IDevice>().MediaPicker;
if (imageChosenType == Convert.ToString(ChooseImageFrom.Gallery))
{
// I am getting error in below line in Iphone
mediaFile = await _mediaPicker.SelectPhotoAsync(new CameraMediaStorageOptions
{
DefaultCamera = CameraDevice.Front,
MaxPixelDimension = maxPixel
});
}
else
{
// I am getting error in below line in Iphone
mediaFile = await _mediaPicker.TakePhotoAsync(new CameraMediaStorageOptions
{
DefaultCamera = CameraDevice.Front,
MaxPixelDimension = maxPixel
});
}
return mediaFile;
//uploadImg.Source = ImageSource.FromStream(() => mediaFile.Source);
// _profilePicArray = DependencyService.Get<IimageToByteArray>().GetByteArrayFromImagePath(mediaFile.Path);
}
catch (TaskCanceledException ex)
{
throw ex;
}
catch (Exception ex)
{
/*
if (ex.Message.ToLower().Contains("task") || ex.Message.Contains("Task"))
{
}
else
{
throw ex;
}
*/
return null;
}
}
}
mediaFile has null, so that it occurs, how to resolve it?
Thanks,
Suneel Kumar Biyyapu.