如何在Edge浏览器的本机主机中获得文件读取权限

时间:2019-10-10 11:12:11

标签: uwp microsoft-edge microsoft-edge-extension

我正在尝试从Edge浏览器的本机主机(在UWP中实现)读取设置文件。此设置文件具有一些URL列表,用于扩展处理该文件。但是我无法在本机主机中读取文件。读取文件时出现以下异常。

  

System.UnauthorizedAccessException:'对路径的访问   'C:\ Users \ abc \ Desktop \ Settings.dat'被拒绝。

string fileName = "C:\\Users\\Sameer\\Desktop\\Settings.dat"; 
bool bfileExist = File.Exists(fileName); 
if (bfileExist) { byte[] fileData = File.ReadAllBytes(fileName); }

是否有人有想法在Edge浏览器的本机主机中读取文件?请让我知道。

2 个答案:

答案 0 :(得分:1)

UWP提供了SP的功能,可以使用broadFileSystemAccess中的API访问更大的文件。您需要在访问之前添加受限的Windows.Storage namespace功能。并且请避免使用broadFileSystemAccess API。有关更多信息,请参考以下代码。

System.IO

答案 1 :(得分:1)

我已经通过使用以下代码解决了这个问题

string fileName = "C:\\Users\\Sameer\\Desktop\\Settings.dat";
Windows.Storage.StorageFile file = await Windows.Storage.StorageFile.GetFileFromPathAsync(fileName);

if(file != null)
{
  var bufferData = await Windows.Storage.FileIO.ReadBufferAsync(file);               
  Windows.Storage.Streams.DataReader dataReader = Windows.Storage.Streams.DataReader.FromBuffer(bufferData);
  byte[] fileData = new byte[bufferData.Length];
  dataReader.ReadBytes(fileData);
}