我想将我的照片从temp文件夹保存到Xamarin IOS的库或文档文件夹中。我使用iPhone Simulator进行开发,并使用Xamarin iOS本机进行开发。首先,获取URL路径,然后更改为真实路径。到目前为止,我已经找到了真正的路径:
NSUrl myFileUrl = new NSUrl(ImageValue);
Console.WriteLine(myFileUrl.AbsoluteString);
FromGalleryPath= myFileUrl.Path;
但是路径的结果是
.../Application/xxx/tmp/5B4AFD16E192.jpeg
我不想将图像存储在tmp中-> Application/xxx/tmp/
,因为每次我重新启动模拟器时,图像就消失了!如何将图像保存到库/文档文件夹中,以及如何从库/文档文件夹中检索路径?
我已经在互联网上搜索了,但还是不知道。谁能帮我吗?
谢谢。
使用NSSearchPathForDirectoriesInDomains与本地代码相同,可以获取路径。搜索后,NSSearchPath可以实现。尝试使用以下代码来访问Library/
路径:
创建静态类NSSearchPath:
public static class NSSearchPath
{
public static string[] GetDirectories(NSSearchPathDirectory directory, NSSearchPathDomain domainMask, bool expandTilde = true)
{
return NSArray.StringArrayFromHandle(NSSearchPathForDirectoriesInDomains((nuint)(ulong)directory, (nuint)(ulong)domainMask, expandTilde));
}
[DllImport(Constants.FoundationLibrary)]
static extern IntPtr NSSearchPathForDirectoriesInDomains(nuint directory, nuint domainMask, bool expandTilde);
}
按如下使用:
string[] paths = NSSearchPath.GetDirectories(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomain.All);
Console.WriteLine(paths[0]);
输出日志:
2020-05-20 13:52:11.254843+0800 AppIOS2[4340:108912] /Users/xxxx/Library/Developer/CoreSimulator/Devices/4C2C6DD2-3D42-46EA-8078-D6E0B851AEDD/data/Containers/Data/Application/DB913987-0E55-4603-8993-ED7B3F83CF85/Library
参考文档:https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/file-system#application-directories