Добавление файла из системы с помощью ipc модуля в Electron.js. Но при нажатии на button, ничего не происходит

const { app, BrowserWindow, BrowserView } = require("electron");

function createWindow() {
   const win = new BrowserWindow({
      width: 1200,
      height: 900,
      webPreferences: {
         nodeIntegration: true,
      },
   });
   win.removeMenu();
   win.setMenu(null);
   win.loadURL("http://localhost:3000");
   // win.webContents.openDevTools();
}

function createNewView() {
   const win = new BrowserWindow({ width: 500, height: 500 });

   const view = new BrowserView();
   win.setBrowserView(view);
   view.setBounds({ x: 0, y: 0, width: 500, height: 500 });
   view.webContents.loadURL(
      "file://" + __dirname + "/BrowserViewPages/UploadFilePage.html"
   );
}

app.whenReady().then(createWindow);
app.whenReady().then(createNewView);

app.on("window-all-closed", () => {
   if (process.platform !== "darwin") {
      app.quit();
   }
});

app.on("activate", () => {
   if (BrowserWindow.getAllWindows().length === 0) {
      createWindow();
      createNewView();
   }
});

const { ipcMain } = require("electron");
const { dialog } = require("electron");

ipcMain.on("open-file-dialog", function (event) {
   const parentWindow =
      process.platform === "darwin" ? null : BrowserWindow.getFocusedWindow();
   dialog.showOpenDialog(
      parentWindow,
      {
         properties: ["openFile", "openDirectory"],
      },
      function (files) {
         if (files) event.sender.send("selected-file", files);
      }
   );
});

<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8" />
      <meta http-equiv="X-UA-Compatible" content="IE=edge" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <title>Upload File</title>
   </head>
   
   <body>
      <button id="select-file">Open File</buttton>
      <div id="selected-file"></div>   
      <script>
      const {ipcRenderer} = require("electron");
      const selectDirBtn = document.getElementById("select-file");

      selectDirBtn.addEventListener("click", function (event) {
      ipcRenderer.send("open-file-dialog");
      });
      ipcRenderer.on("selected-file", function (event, path) {
      document.getElementById("selected-file").innerHTML = `You selected: ${path}`;
      });
      </script>
   </body>
</html>

Ответы (0 шт):