uwp - 如何在 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 浏览器的本机主机中读取文件吗?请告诉我。
解决方案
UWP 提供broadFileSystemAccess
了使用Windows.Storage namespace
. 您需要在访问之前添加受限broadFileSystemAccess
功能。请避免使用System.IO
api。有关更多信息,请参阅以下代码。
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();
}
}
}
推荐阅读
- android - 画布文本在 android 中的图像上看起来很模糊
- java - Android - 在 API 24 之前以编程方式将 TextView 背景设置为可绘制
- c# - 从数据库c#获取后数据集中缺少毫秒
- c++ - fwrite 只输出 143.4kb 以下的文件,fwrite 允许更多吗?
- ios - 我可以在 iOS 上更改文件的修改或创建日期吗?
- logging - Openshift:为什么我在 Kibana 中看不到应用程序日志?
- blazemeter - Taurus Blazemter - 如何在身体中使用功能
- javascript - 为什么我的表单验证功能不起作用?
- ios - 如何使用 Diffable Data Source 和 NSFetchedResultsController 处理 CRUD 操作
- c++ - 寻找二进制补码,