【问题标题】:Xamarin Forms Convert from Image to Base64 from Image Control not from fileXamarin 表单从图像控件而不是文件从图像转换为 Base64
【发布时间】:2020-08-13 00:44:18
【问题描述】:

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

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 字符串,以便将其发布到 API。

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

提前感谢您的帮助

【问题讨论】:

  • 您无法从 Image 控件中提取原始图像数据。如果您以后需要访问它,您需要将内存中的图像数据相同或将其写入文件。 CrossMedia 插件将为您创建一个文件。
  • 谢谢,我希望避免这种情况,但似乎是唯一的方法。

标签: image xamarin xamarin.forms tobase64string


【解决方案1】:

从共享代码中,一旦获得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);

【讨论】:

    猜你喜欢
    • 2013-10-20
    • 2017-07-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 2022-11-11
    相关资源
    最近更新 更多