我有下面的代码来打开画廊。
var imageIntent = new Intent(
Intent.ActionPick);
imageIntent.SetType("image/*");
mageIntent.PutExtra(Intent.ExtraAllowMultiple, true);
imageIntent.SetAction(Intent.ActionGetContent);
StartActivityForResult(
Intent.CreateChooser(imageIntent, "Select photo"), 1);
我坚持使用以下代码,这是我的MainActivity.cs中的OnActivityResult
protected override void OnActivityResult(int requestCode, Android.App.Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if((requestCode==1)&&(resultCode==Result.Ok))
{
if(data!=null)
{
ClipData clipData = data.ClipData;
if(clipData!=null)
{
for (int i = 0; i < clipData.ItemCount; i++)
{
ClipData.Item item = clipData.GetItemAt(i);
Android.Net.Uri selectedImage = item.Uri;
//How to convert Android.Net.Uri to a image file?
}
}
}
}
}
android .NET.Uri是我从来没有见过的东西,路径就像content/android/document/documents/31857.是的,我可以从图库中选择多张照片,但我就是不知道如何将Android.Net.URI转换为法律的的图像文件?我的最终目标是将所选图像保存到我想要的文件路径,如storage/emulated/0...或者有没有更好的方法来选择多个图像并保存到所需的文件?谢谢。
3条答案
按热度按时间vojdkbi01#
您可以使用依赖关系服务
在表单中创建界面
在iOS中
在安卓系统中
一个二个一个一个
调用它
epggiuax2#
谢谢你的帮助。2下面是我给那些需要帮助的人的最终解决方案。
之后,你可以做任何你想做的,干杯!取自:获取画廊图像Xamarin的路径?
4dbbbstv3#
这是在Xamarin中从Gallery中挑选多张照片的iOS实现。调用Task〈List〈byte[]〉〉PickPhotos()后,你会得到一个字节数组列表。Android实现在Montemagno的跨媒体插件中运行良好,但iOS有缺陷。这应该可以修复它。我正在使用新的PHPickerViewController来完成这件事。还包括一个本Map像大小调整例程,如果需要的话,可以缩小照片的大小。