在MAUI(.NET7)(仅限Android)中,我希望能够打开相机应用程序,拍摄照片,并将照片保存在画廊可以打开的位置。似乎很简单,但我似乎无法让它工作。
下面的代码打开相机,并将图像保存到AppDataDirectory或CacheDirectory(取决于执行哪一行)。然而,这两个目录似乎对Gallery应用程序都不可见。
if (MediaPicker.Default.IsCaptureSupported)
{
FileResult photo = await MediaPicker.Default.CapturePhotoAsync();
if (photo != null)
{
//string localFilePath = Path.Combine(FileSystem.CacheDirectory, photo.FileName);
string localFilePath = Path.Combine(FileSystem.AppDataDirectory, photo.FileName);
using Stream sourceStream = await photo.OpenReadAsync();
using FileStream localFileStream = System.IO.File.OpenWrite(localFilePath);
await sourceStream.CopyToAsync(localFileStream);
}
}
字符串
我试过Media Plugin Nuget。这确实保存了文件,但由于某种原因保存了两次,两个创建的文件中有一个损坏了。(我认为这在github中有问题)。它也不再被维护,所以如果可能的话我宁愿不使用它。
有谁知道我在毛伊岛怎么做吗?谢谢。
2条答案
按热度按时间hzbexzde1#
字符串
q5iwbnjs2#
如果您使用的是Android比不要忘记添加此权限。
字符串
这里我定义了正确的文件路径为保存&打开图像
型
这里你如何打开保存的图像是..
型
你可以在这里看到
型
这里是完整的Xaml.cs代码..
型