UWP FileSavePicker.PickSaveFileAsync()抛出未指定的错误

本文关键字:未指定 错误 FileSavePicker PickSaveFileAsync UWP | 更新日期: 2023-09-27 18:07:30

我第一次尝试使用FileSavePicker,但我一直得到一个"未指明的错误",没有异常来源,当我调用await picker.PickSaveFileAsync();

我注意到异常数据字典包含一个值'RestrictedErrorObject-{1F77CB5A-D22F-071F-2637-E6B7C7573653}',所以我假设它的权限相关。

var picker = new Windows.Storage.Pickers.FileSavePicker();
//picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
//picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Downloads;                
//picker.DefaultFileExtension = "csv";
//picker.FileTypeChoices.Add("CSV", new List<string>() { "*.csv" });
picker.SuggestedFileName = fileName;
StorageFile newFile = await picker.PickSaveFileAsync();

UWP FileSavePicker.PickSaveFileAsync()抛出未指定的错误

现在可以工作了,我使用了微软文章中的一些代码(如下所示)。老实说,我很难看出有什么不同。我绝对不需要在清单上做任何事。我使用了默认扩展名-但删除了通配符{ ".csv" },所以可能就是这样。但是,如果使用通配符,您将获得"参数不正确"异常,这与我之前获得的异常不同。

var savePicker = new Windows.Storage.Pickers.FileSavePicker();
savePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
savePicker.FileTypeChoices.Add("CSV", new List<string>() { ".csv" });
savePicker.SuggestedFileName = fileName;
StorageFile newFile = await savePicker.PickSaveFileAsync();

我通过添加文件类型来解决这个错误:

picker.FileTypeFilter.Add(".csv");