在Android中使用Xamarin Form存储图像

jvidinwx  于 2023-04-04  发布在  Android
关注(0)|答案(1)|浏览(151)

我是Xamarin的新手,我正在使用VS studio 2022,我的APP在模拟器中拍照,然后我需要复制图像,我的问题是:图像存储在Emulator中的哪个位置?在生产中会有所不同吗?这是我的C#代码:String origenPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);得到的路径是图像所在的位置,不知道是否正确。
谢谢。

nfg76nw0

nfg76nw01#

我们无法看到您的拍照代码,但一般情况下,我们建议使用Xamarin.Essentials: Media Picker来实现这一点。
MediaPicker类具有以下方法,它们都返回一个FileResult,可用于获取文件位置或将其作为Stream读取。

*PickPhotoAsync:打开媒体浏览器以选择照片。
*CapturePhotoAsync:打开相机拍照。
*PickVideoAsync:打开媒体浏览器以选择视频。
*CaptureVideoAsync:打开相机拍摄视频。

你可以参考下面的代码来拍照,并获取照片的路径:

async Task TakePhotoAsync()
{
    try
    {
        var photo = await MediaPicker.CapturePhotoAsync();
        await LoadPhotoAsync(photo);
        Console.WriteLine($"CapturePhotoAsync COMPLETED: {PhotoPath}");
    }
    catch (FeatureNotSupportedException fnsEx)
    {
        // Feature is not supported on the device
    }
    catch (PermissionException pEx)
    {
        // Permissions not granted
    }
    catch (Exception ex)
    {
        Console.WriteLine($"CapturePhotoAsync THREW: {ex.Message}");
    }
}

你也可以按照这里的教程:Media Picker in Xamarin Forms - Xamarin Forms Tutorials .
此外,您还可以使用MediaPlugin来实现这一点。

相关问题