【问题标题】:How do I gain access to the documents folder (UWP)如何访问文档文件夹 (UWP)
【发布时间】:2019-10-10 20:40:11
【问题描述】:

关闭 UWP 时,我将从数据库中获取项目列表。我想将此列表保存在将在文档文件夹中创建/编辑的文件中。

我试图通过以下方式访问 Documents 文件夹:

StorageFolder stFo = KnownFolders.DocumentsLibrary;

我的问题是我无权访问文档文件夹('发生了“System.UnauthorizedAccessException”类型的异常......')。

现在我了解到您可以通过在 Package.appxmanifest 中添加几行来获得访问权限

<Package xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">

  <Capabilities>
    <rescap:Capability Name="appCaptureSettings"/>
    <uap Name="documentsLibrary"/>
  </Capabilities>

我试过了,但它不起作用。

还有其他方法可以访问吗? (如果是的话,一个例子会很棒)

编辑

这可能很重要:这个 UWP 是旁加载的

【问题讨论】:

  • 你读过this docs吗?
  • 换个说法:为什么你认为需要将它们保存在KnownFolders.DocumentsLibrary
  • @vasily.sib 我会仔细阅读它。 - 我不一定需要将它保存在文档文件夹中,但我现在想知道如何将它保存在那里。
  • 您应该了解有关异常的更多信息。例如,当我运行您的示例时,我得到了这个 - Access to the specified location (DocumentsLibrary) requires a file type association to be declared in the application manifest. 一个快速的 Google 搜索应该会告诉您如何添加您指定的文件类型。

标签: c# file uwp directory document


【解决方案1】:

仅添加声明documentsLibrary 功能是不够的。您还需要向您的应用清单添加文件类型关联,以声明您的应用可以访问哪些特定文件类型:https://social.msdn.microsoft.com/Forums/ie/en-US/7ee61fd7-db6d-49a6-bda4-701105a500e7/uwpcant-access-documents-library-in-universal-windows-app?forum=wpdevelop

请注意,文档库并非用于一般用途。

您应该根据数据的存储方式考虑使用ApplicationData.LocalFolderLocalCacheFolderRoamingFolderSharedLocalFolderTemporaryFolder

【讨论】:

  • 我们正在使用 ApplicationData 文件夹,但是当用户重新安装应用程序时,所有这些文件夹都会被清除,因此我们正在寻找一种最佳实践来在安装过程中保留应用程序的状态。你有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-21
  • 2020-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多