【问题标题】:I work with UWP application and i have some problems with user files access我使用 UWP 应用程序,但我在访问用户文件时遇到了一些问题
【发布时间】:2020-03-13 08:48:48
【问题描述】:

如何让用户访问我可以读取的文件。所以,我只为自己做这件事,所以我明白,我可以从管理员名称启动应用程序,并且通过想法我可以访问文件。但是这个UWP。应用程序,我不能这样做。从这个问题,问题就出现了。我在第一句话中提出的问题:我如何要求用户授予我对文件的访问权限。例如,此代码在执行阶段抛出访问异常:

public static async Task<byte[]> LoadFromPathAsync(string path)
        {
            byte[] buffer = null;
            using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
            {
                buffer = new byte[stream.Length];
                await stream.ReadAsync(buffer, 0, buffer.Length);
            }
            return buffer;
        }

对不起,我的英语知识很差,这是我自己写的

【问题讨论】:

  • UWP 的基本意思是“应用程序开发”。并且应用程序必须要求(但仍然可能不会收到)任何单一的权利。由于缺乏自己的临时和存储文件,他们无法保证访问任何内容。 |它在这里可能对您没有帮助,但 UWP 基本上只是添加了应用程序支持的 WPF。并且下一个 .NET Core 将重新添加 WPF 支持。所以如果你喜欢 Style 或者想回收代码,但不需要它成为 App Store 应用程序,切换到 WPF 是可能的。

标签: c#


【解决方案1】:

File access permissions 将向您解释如何获得文件访问权限。 通过上面的链接,您可以获得许可。 这是一个可以用于文件操作的简单代码。

您可以使用本地存储文件夹文件保存操作。 以下是访问本地状态文件夹的方法

写入文件

    StorageFolder localFolder = ApplicationData.Current.LocalFolder;
    StorageFile file = await storageFolder.CreateFileAsync("sample", CreationCollisionOption.OpenIfExists);
    await FileIO.WriteTextAsync(file, "some text to write in file");

从文件中读取

StorageFolder localFolder = ApplicationData.Current.LocalFolder;
StorageFile file = await storageFolder.GetFileAsync("sample");
string text= await FileIO.ReadTextAsync(file);

【讨论】:

    【解决方案2】:

    有一种方法可以请求更多文件系统访问权限,称为 BroadFileSystemAccess。

    您可以在此thread 中获取详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 2021-02-27
      • 2021-11-18
      • 2012-05-13
      • 1970-01-01
      • 2020-10-05
      相关资源
      最近更新 更多