我有一个文件流,要存储在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 according应该可以使用的
CreateDirectory不是创建子文件夹,而是文件流愉快地将文件保存到其中,而是抛出以下内容:
{System.UnauthorizedAccessException: Access to the path "/var/mobile/Containers/Data/Application/035ECE7D-0E9F-4DF9-927B-B79FB31AEE01" is denied.
我认为MyDocuments可以随意做些事情吗?我没有看到文档说我必须首先应用权限。我应该在哪里创建文件夹?
答案 0 :(得分:0)
如果使用Visual Studio进行编码,请在运行项目后尝试在管理员(Visual Studio)中运行该程序。也许这是一个很好的解决方案。
答案 1 :(得分:0)
您可以尝试创建平台特定的类来保存文件,并使用DependencyService来调用您的方法。对于iOS应用,我使用了以下文件夹枚举:Environment.SpecialFolder.Personal
,它对我有用。