CreateDirectory in Environment.SpecialFolder.MyDocuments is



我有一个文件流,我想将其存储在 iOS 中 SpecialFolder 枚举下的子文件夹下。

FileStream构造函数希望子文件夹结构首先存在,当我尝试创建它时,我得到 UnauthorizedAccessException。

假设我的预期位置是

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/folder1/file1.xls";

在我的会议中,它决心

/var/mobile/Containers/Data/Application/035ECE7D-0E9F-4DF9-927B-B79FB31AEE01/Documents/folder1/file1.xls

然后我确保该位置存在

if (!Directory.Exists(filepath))
{
    Directory.CreateDirectory(filepath);
}

根据Microsoft的说法,这应该有效

CreateDirectory 方法不是创建子文件夹并且文件流愉快地将文件保存到其中,而是抛出以下内容:

{System.UnauthorizedAccessException: Access to the path "/var/mobile/Containers/Data/Application/035ECE7D-0E9F-4DF9-927B-B79FB31AEE01" is denied.

我以为MyDocuments可以自由地做事?我没有看到任何文件说我必须先申请许可。我应该在哪里创建文件夹?

如果使用 Visual Studio

编写代码,请在运行项目后尝试在 admin (Visual Studio( 中运行该程序。也许这是个好办法。

您可以尝试创建特定于平台的类来处理保存文件,并使用 DependencyService 调用您的方法。对于iOS应用程序,我使用了这个文件夹enum:Environment.SpecialFolder.Personal,这对我有用。

相关内容

  • 没有找到相关文章

最新更新