我有一个 Electron 应用程序,我试图打开一个本机文件选择器对话框并限制用户只能选择具有某些自定义扩展名的单个文件(称为 .foo)。
在 macOS(Mojave,如果这很重要的话)上,使用 Electron ^3.0.0,如下:
dialog.showOpenDialog({ properties: ['openFile'], filters: [{name: 'Foo
Files', extensions: ['foo']}] })`
Run Code Online (Sandbox Code Playgroud)
将打开一个本机文件选择器,仅允许用户选择目录。
这:
dialog.showOpenDialog({ properties: ['openFile'], filters: [{extensions:
['foo']}] })
Run Code Online (Sandbox Code Playgroud)
将打开一个本机文件选择器,允许我选择单个文件,但允许选择具有任何扩展名的文件。
如何在 macOS 上打开本机文件选择器对话框,限制用户选择具有特定扩展名的单个文件?
如果没有名称和扩展名属性,文件过滤器对象将无法工作。因此,您的问题的第一次调用应该没有任何问题:
dialog.showOpenDialog({ properties: ['openFile'], filters: [{name: 'Foo
Files', extensions: ['foo']}] })
Run Code Online (Sandbox Code Playgroud)
因为,要选择目录,您需要openDirectory在数组中properties。如果没有该属性,它不应该允许您选择任何目录。
您是否通过选择任何目录进行检查?当您尝试选择任何目录(双击它或单击系统对话框中的“打开”按钮)时,它不会选择它,而是会打开该目录。
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |