Estoy trabajando en una aplicación electrónica que puede abrir un selector de archivos de directorio y devolver un valor, como lo hace esta pregunta: Electron - Cuadro de diálogo Abrir carpeta
ipcMain.on('selectDirectory', function() { dir = dialog.showOpenDialog(mainWindow, { properties: ['openDirectory'] }); });Pero no puedo encontrar una manera de abrir el cuadro de diálogo de la carpeta sin devolver nada, como si yo, como usuario, quisiera abrir la ubicación de un archivo. No quiero bloquear mi programa esperando un archivo/carpeta seleccionado. Solo quiero que se abra una ventana a una ubicación específica en la máquina de un usuario a través de mi aplicación electrónica multiplataforma (mac/win/linux)
El dialog.showOpenDialog() de Electron devuelve una promesa, por lo que debería manejarse como tal.
ipcMain.on('selectDirectory', function() { // Define the options. let options = { title: "My title", properties: ['openDirectory'], defaultPath: "/absolute/path/to/open/at" // Optional. } // Show the open (folder) dialog. dialog.showOpenDialog(mainWindow, options) .then((result) => { // Bail early if user cancelled dialog. if (result.canceled) { return } // Get the selected path. let path = result.filePaths[0]; // More processing... }) }); Si desea establecer la ruta inicial, se abre el cuadro de diálogo y luego establezca la propiedad defaultPath .
La variable de path le dará la ruta que el usuario seleccionó en el cuadro de diálogo.