我有一个Electron应用程序,我试图打开一个本机文件选择器对话框,并限制用户只能选择具有某些自定义扩展名(称为.foo)的单个文件。
在macOS(Mojave,如果重要)上,使用Electron ^ 3.0.0,这是
dialog.showOpenDialog({ properties: ['openFile'], filters: [{name: 'Foo
Files', extensions: ['foo']}] })`
将打开仅允许用户选择目录的本机文件选择器。
此:
dialog.showOpenDialog({ properties: ['openFile'], filters: [{extensions:
['foo']}] })
将打开一个本机文件选择器,它使我可以选择一个文件,但允许选择具有任何扩展名的文件。
如何在macOS上打开本机文件选择器对话框,以限制用户选择具有特定扩展名的单个文件?
答案 0 :(得分:0)
文件过滤器对象不能同时使用:name和extensions属性。因此,您提出的问题的第一个电话应该没有任何问题。
dialog.showOpenDialog({ properties: ['openFile'], filters: [{name: 'Foo
Files', extensions: ['foo']}] })
因为要选择目录,您需要将openDirectory
放在properties
数组中。如果没有该属性,则不允许您选择任何目录。
您是否通过选择任何目录进行检查?当您尝试选择任何目录(双击它或单击系统对话框中的“打开”按钮)时,它不会选择它,它将打开该目录。