我试图创建一个UWP应用程序,可以将保存在自己存储中的文件导出到文档库中。
在Package.appxmanifest中,我插入了以下几行:
<uap:Capability Name="picturesLibrary" />
<uap:Capability Name="documentsLibrary" />
获取路径的代码是:
StorageFolder storageFolder = await KnownFolders.GetFolderForUserAsync(null /* current user */, KnownFolderId.DocumentsLibrary);
string path = storageFolder.Path + "\\" + fileName;
保存文件的代码是:
FileStream writer = new FileStream(filePath, FileMode.Create);
此时,程序启动此异常:
Access to the path 'C:\Users\luca9\AppData\Roaming\Microsoft\Windows\Libraries\Documents.library-ms' is denied.
在我的950XL上,例外是类似的:
Access to the path 'C:\Data\Users\DefApps\APPDATA\ROAMING\MICROSOFT\WINDOWS\Libraries\Documents.library-ms' is denied.
我已经对文档和图片库进行了尝试,但我得到了同样的例外。
我该如何解决?
提前谢谢你,
卢卡
答案 0 :(得分:4)
不要使用路径获取 FileStream - 该应用没有权限。正如您已经拥有 StorageFolder ,使用它来创建 StorageFile ,然后使用其中一种方法从中获取流,例如:
var file = await storageFolder.CreateFileAsync("fileName");
using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
// do what you want
}