我第一次尝试使用 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();

最佳答案

所以它现在可以工作了,我使用了 Microsoft 文章的一些代码(如下所示)。老实说,我很难看出有什么不同。我绝对不需要在 list 中做任何事情。我使用了默认扩展名 - 但删除了通配符 { ".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();

关于c# - UWP FileSavePicker.PickSaveFileAsync() 抛出未指定的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39540711/

10-11 09:26