以下代码几乎是FileOpenPicker类的MSDN示例的逐字记录。

FileOpenPicker picker = new FileOpenPicker();
picker.ViewMode = PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".png");
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");

StorageFile file = await picker.PickSingleFileAsync();


当我通过按钮触发它时,我从最后一行得到以下异常:


  System.UnauthorizedAccessException
  访问被拒绝。 (来自HRESULT的异常:0x80070005(E_ACCESSDENIED))


我以为这种用法中的FileOpenPicker的想法是,我不需要询问用户访问权限或指定任何功能?

最佳答案

我在调用PickSingleFileAsync()之前设置了一个断点。事实证明,在按Border内的TextBlock时(两个都具有相同的Tapped事件处理程序),将触发两个tapped事件。

第一次调用按预期方式工作,但随后的调用导致UnauthorizedAccessException,并且将在显示选择器后立即发生。

关于c# - FileOpenPicker PickSingleFileAsync引发UnauthorizedAccessException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15493455/

10-11 11:45