【问题标题】:File path access permission文件路径访问权限
【发布时间】:2021-06-22 11:45:20
【问题描述】:

我想访问 UWP 中根文件夹以外的文件夹。用户将使用文件选择器选择文件,然后该文件将用于软件更新。

我可以提供如下文件选择。然后当我读取这个文件时,我得到了我没有权限访问它的错误。

    var picker = new FileOpenPicker();
    picker.ViewMode = PickerViewMode.Thumbnail;
    picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;

    picker.FileTypeFilter.Add(".bin");

    file = await picker.PickSingleFileAsync();

    StorageFolder folder = await StorageFolder.GetFolderFromPathAsync(file.Path);
    StorageFile storageFile =  await storageFolder.GetFileAsync(file.Name);
    var fileStream = System.IO.File.Open(storageFile.Path, FileMode.Open);

如果我手动将文件夹复制到根文件夹并且它可以与下面的代码一起正常工作。

    StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
    StorageFile storageFile =  await storageFolder.GetFileAsync(file.Name);
    var fileStream = System.IO.File.Open(storageFile.Path, FileMode.Open);

我有两种解决方案。第一种是从外面拷贝文件到根文件夹,第二种是消除访问权限问题。由于是不断变化的文件,所以无法导入到项目中。

【问题讨论】:

    标签: file uwp


    【解决方案1】:

    uwp有很强的文件访问限制,File.open不是uwp api,它只能访问两个位置,分别是应用安装目录应用数据位置,所以当您将此文件复制到应用程序数据位置时,您的代码运行良好。因此,我建议您可以使用StorageFile.OpenAsync 方法而不是 File.open() 来获取流。

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-03
      • 2018-10-20
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多