【问题标题】:How can a Windows 8 app be allowed to open/create files of any type?如何允许 Windows 8 应用程序打开/创建任何类型的文件?
【发布时间】:2012-08-09 19:05:31
【问题描述】:

我正在为 Windows 8 Metro 编写应用程序,我需要能够打开/创建任何类型的文件。

然而,根据this article,即使应用声明documentsLibrary 功能,它也只能打开/创建文件类型关联部分中定义的文件。

如何允许我的应用打开或创建任何类型的文件?

【问题讨论】:

  • 是否可以选择使用桌面应用程序或服务来访问文件?
  • 不,它需要直接从应用程序访问它们。我假设这两个选项都意味着它不能在 Windows RT 上运行。
  • 一个RT应用程序生活在一个茧里,没有“所有文件”之类的东西
  • 它只需要打开它创建的文件,任何文件类型都可以。

标签: c# .net windows-8 microsoft-metro


【解决方案1】:

没有。该页面仅指在用户不知情的情况下访问文件。这意味着您可以枚举它们并阅读它们,而无需用户明确选择一个。

当使用Windows.Storage.Pickers.FileOpenPicker 时,用户可以从任何地方选择任何文件。但这必须由用户完成,而不是由应用程序自动完成。保存也是一样。

示例:Access and save files using the file picker sample

【讨论】:

    【解决方案2】:

    似乎在不添加任何功能的情况下,允许应用在“下载”文件夹中创建任何类型的文件。

    即使没有documentsLibrary 功能,此代码也可以工作:

    StorageFolder folder = await Windows.Storage.DownloadsFolder.CreateFolderAsync("folder");
    StorageFile file = await folder.CreateFileAsync("myfile.txt");
    

    “.txt”文件类型不需要在文件类型关联中声明。

    更新: msdn 上的this article 解释了下载文件夹的权限。

    【讨论】:

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