Я следовал этому руководству здесь https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/dependency-service/photo-picker
async void OnPickPhotoButtonClicked(object sender,EventArgs e)
{
(sender as Image).IsEnabled = false;
Stream stream = await DependencyService.Get<IPhotoPickerService>().GetImageStreamAsync();
if(stream != null)
{
temp_photo.Source = ImageSource.FromStream(() => stream);
}
(sender as Image).IsEnabled = true;
}
Когда я выберу изображение с его помощью, оно покажет изображение из галереи в
What Мне нужно преобразовать изображение в base64_string, чтобы его можно было отправить на наш сервер
Я пробовал следовать принятому ответу по этой ссылке https://forums.xamarin.com/discussion/81344/how-to-convert-image-from-plugin-media-to-base64
var stream = file.GetStream();
var bytes = new byte [stream.Length];
await stream.ReadAsync(bytes, 0, (int)stream.Length);
string base64 = System.Convert.ToBase64String(bytes);
Принятие моего метода, чтобы он выглядел так
async void OnPickPhotoButtonClicked(object sender,EventArgs e)
{
(sender as Image).IsEnabled = false;
Stream stream = await DependencyService.Get<IPhotoPickerService>().GetImageStreamAsync();
if(stream != null)
{
temp_photo.Source = ImageSource.FromStream(() => stream);
var bytes = new byte[stream.Length];
await stream.ReadAsync(bytes, 0, (int)stream.Length);
string base64 = System.Convert.ToBase64String(bytes);
}
(sender as Image).IsEnabled = true;
}
Но при выборе изображения это приводит к тому, что приложение ломается sh
Как я могу преобразовать выбранное изображение в строку base64 ?
Для справки, я тестирую устройство android
Изменить: мой метод заключен в блок try, чтобы поймать исключение, и вот что он говорит
Указанный метод не поддерживается.