我有一个应用程序,用户可以在其中下载文件。我正在尝试使用FileSavePicker
让他选择位置和文件名。该文件可以是任何类型,因此我希望FileSavePicker
接受任何文件类型,但显然我不允许这样做:
picker.FileTypeChoices.Add("All files", new[] { "*" });
// Error: "Ce sélecteur de fichiers n’autorise pas toutes les extensions de fichier."
// (which translates roughly to "This file picker doesn't allow all file extensions")
或者这个:
picker.FileTypeChoices.Add("All files", new string[0]);
// "Error HRESULT E_FAIL has been returned from a call to a COM component."
尝试将FileTypeChoices
留空也会失败。
我在我的应用清单中添加了一个文件保存选择器声明,并检查了“支持任何文件类型”选项。 编辑:我刚刚意识到这与我的问题完全无关... 的
是否可以允许任何文件类型?我已经使用FileOpenPicker
在picker.FileTypeFilter.Add("*")
中进行了操作,但我找不到使用FileSavePicker
执行相同操作的方法......
注意:在我的情况下,我已经知道文件的原始名称,所以我可以使用它来创建FileTypeChoices
中的特定条目,但如果文件没有扩展名,我就卡住了..
答案 0 :(得分:7)
我有点惊讶文档根本没有涵盖这一点,但是当你尝试使用所有文件过滤器时得到的错误信息非常清楚:
“此文件选择器不允许所有文件扩展名。”
换句话说,不,你不能这样做。
正如您所提到的,您说您已经知道在大多数情况下您尝试保存的文件的名称,您可以将文件类型选项设置为您要保存的文件的类型。当然,正如您所指出的那样,文件没有扩展名,但实际上也有一个有效的“扩展名”:
picker.FileTypeChoices.Add("Unknown", new List<string>() { "." });
希望这有帮助。