以下代码几乎是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/