c# - 无法使用 UWP 应用程序访问我系统上的 Word 文档
问题描述
我正在尝试使用 UWP 应用程序(通用 Windows)编辑现有的 Word 文档。但由于某种原因,我收到“文件不存在”错误。
我尝试使用以下代码访问 word 文档:
using(WordprocessingDocument wordDoc = WordprocessingDocument.Open("C:\\Users\\Public\\Desktop\\Doc1.docx", true))
{
}
System.IO.FileNotFoundException:'找不到文档'
解决方案
默认情况下,UWP 不允许访问应用容器外的文件。但从 Windows 10 build 17134broadFileSystemAccess
开始,引入了一项新功能。它允许应用程序获得与当前运行应用程序的用户相同的文件系统访问权限,而在运行时无需任何额外的文件选择器样式提示。
因此,请检查您是否在“Package.appxmanifest”文件中声明了此功能。
有关详细信息,请参阅应用程序功能声明中的文件访问权限和广泛的文件系统访问条目。
如果您在添加broadFileSystemAccess
功能时仍然遇到此问题,那么问题应该在“WordprocessingDocument.Open”API 中。您需要注意“文件访问权限”文档中提到:
此
broadFileSystemAccess
功能适用于Windows.Storage命名空间中的 API。
这意味着“WordprocessingDocument.Open”可能不会使用Windows.Storage API 来访问文件。如果是这样,您需要将此问题报告给Open-XML-SDK。
推荐阅读
- javascript - React 服务器每秒向后端 API 发送 4 个请求
- flutter - 如何正确接收属性中的参数列表?
- loops - 使用编程解决 mathcad 中的问题
- java - 诸如随机的对象(局部和实例变量)
- node.js - 刷新后无法获取,并且在为服务器创建全部捕获时出错 - Express 和 React
- javascript - 基于 PoseNet 绘制图像(在 p5.js 中)
- python - 无法从“website.views”错误中导入名称“views”
- typescript - 如何在 immutable.js 中定义字符串和数字数组或元组
- php - CodeIgniter 在付款重定向后不存储会话
- python - Python多处理-TypeError:无法腌制'_tkinter.tkapp'对象