Xamarin Forms 从图像控件而不是文件将图像转换为 Base64

Xamarin Forms Convert from Image to Base64 from Image Control not from file

我正在将相机中的图像加载到图像控件中。效果很好,如下所示。

var photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions() { });

if (photo != null)
PhotoImageRear.Source = ImageSource.FromStream(() => { return photo.GetStream(); });

稍后我需要获取加载到 PhotoImageRear 控件中的图像并将其转换为 base64 字符串,以便 post 将其转换为 API。

实现该目标的最有效方法是什么。

在此先感谢您的帮助

从共享代码中获取photo后,您可以使用以下代码转换为Base64

var stream = photo.GetStream();
var bytes = new byte [stream.Length];
await stream.ReadAsync(bytes, 0, (int)stream.Length);
string base64 = System.Convert.ToBase64String(bytes);