gpt4 book ai didi

c# - Xamarin Android 从 Gallery 获取图像数据

转载 作者:太空宇宙 更新时间:2023-11-03 12:29:47 25 4
gpt4 key购买 nike

我正在尝试从存储在外部的画廊中选择一张图片。然后我在 OnActivityResult 中捕获数据。然后,我想使用这些行获取所选图像的字节数组数据。

protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
...
var imageSelected = File.ReadAllBytes(data.Data.Path);
...
}

但是,我收到以下错误:System.IO.DirectoryNotFoundException:找不到路径“/external/images/media/149144”的一部分。

/external/images/media/149144data.Data.Path 的值。另外,请注意我在我的 androidmanifest 中添加了 READ_EXTERNAL_STORAGE 权限

如有任何帮助,我们将不胜感激。

最佳答案

I am trying select an image from Gallery, which is stored in external. I then catch the data in OnActivityResult. I, then, want to get the byte array data of the selected image using these lines.

您正在从 data.Data.Path 获取 ContentUrl,而 File.ReadAllBytes 无法从 中找到文件>ContentUrl.

如果你想从结果中获取字节数据,你可以从ContentUrl创建一个Bitmap并将Bitmap直接转换为字节数组如下:

protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);

try
{
Bitmap bitmap = MediaStore.Images.Media.GetBitmap(this.ContentResolver, data.Data);
using (MemoryStream stream = new MemoryStream())
{
bitmap.Compress(Bitmap.CompressFormat.Jpeg,100, stream);
byte[] array=stream.ToArray();
}

}
catch (Java.IO.IOException e)
{
//Exception Handling
}
}

关于c# - Xamarin Android 从 Gallery 获取图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43199504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com