【问题标题】:Xamarin - IO operations fail when using PCLStorage mirrorsXamarin - 使用 PCLStorage 镜像时 IO 操作失败
【发布时间】:2020-07-23 16:15:05
【问题描述】:

所以我试图访问 Xamarin Forms 项目上的文件系统,我使用了几个项目,包括:

StandardStorage

StorageEverywhere

XamFileStorageNetStandard

都是PCL Storage的Net Standard镜像,无需修改代码。

我可以从我的 Forms 项目中获取当前文件系统并获取本地存储的根文件夹,响应类似于:

"/data/user/0/com.companyname.APPNAME/files"

当我尝试在这条路径上执行任何操作时,E.G:

await FileUtility.RootFolder.CreateFolderAsync("test", CreationCollisionOption.FailIfExists);
await FileUtility.RootFolder.GetFoldersAsync();
await FileUtility.RootFolder.CreateFileAsync("test.txt", CreationCollisionOption.FailIfExists);

所有操作都只是阻塞,永不返回,在 OnePlus 6T 上测试。

有人知道解决办法吗?

提前致谢。

更新:澄清在平台特定项目中也根据需要引用了这些库。

【问题讨论】:

  • 你申请READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限了吗?
  • @Leo 我不确定我必须这样做,因为它不是外部存储,它是我的本地应用程序文件夹

标签: c# xamarin xamarin.forms xamarin.android .net-standard


【解决方案1】:

对于以后有问题的人,干脆用System.IO来处理文件,显然行得通。

Environment.SpecialFolder.LocalApplicationData

使用它来访问您应用的本地存储。

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2022-07-21
    • 2019-11-26
    相关资源
    最近更新 更多