首页 > 解决方案 > 如何在 Edge 浏览器的本机主机中获取文件读取权限

问题描述

我正在尝试从在 UWP 中实现的 Edge 浏览器的本机主机读取设置文件。此设置文件有一些 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 浏览器的本机主机中读取文件吗?请告诉我。

标签: uwpmicrosoft-edgemicrosoft-edge-extension

解决方案


UWP 提供broadFileSystemAccess了使用Windows.Storage namespace. 您需要在访问之前添加受限broadFileSystemAccess功能。请避免使用System.IOapi。有关更多信息,请参阅以下代码。

var file= await Windows.Storage.StorageFile.GetFileFromPathAsync(fileName);
if (file!= null)
{
    byte[] result;
    using (Stream stream = await file.OpenStreamForReadAsync())
    {
        using (var memoryStream = new MemoryStream())
        {

            stream.CopyTo(memoryStream);
            result = memoryStream.ToArray();
        }
    }

}

推荐阅读