【问题标题】:How Do I Save my photo from tmp directory folder to library/ document folder in xamarin iOS如何将我的照片从 tmp 目录文件夹保存到 xamarin iOS 中的 library/document 文件夹
【发布时间】:2020-05-20 03:52:11
【问题描述】:

我想将我的照片从临时文件夹保存到 Xamarin IOS 中的库或文档文件夹。我为此使用 iPhone 模拟器,并使用 Xamarin iOS 本机进行开发。首先,我获取 URL 路径,然后更改为真实路径。 到目前为止,我得到了真正的路径:

NSUrl myFileUrl = new NSUrl(ImageValue);
            Console.WriteLine(myFileUrl.AbsoluteString);
            FromGalleryPath= myFileUrl.Path;

但是路径的结果是

.../Application/xxx/tmp/5B4AFD16E192.jpeg

我不想将我的图像存储在 tmp 中 --> Application/xxx/tmp/ 因为,每次我重新启动模拟器时,图像就消失了!如何将我的图像保存到库/文档文件夹中以及如何从库/文档文件夹中检索路径?

我在互联网上搜索过,但仍然不知道。谁能帮帮我?

提前致谢。

【问题讨论】:

    标签: c# ios xamarin xamarin.ios


    【解决方案1】:

    使用NSSearchPathForDirectoriesInDomains和native code一样可以得到路径。搜索后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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 1970-01-01
      相关资源
      最近更新 更多