繁体   English   中英

Electron 从对话框读取文件得到类型错误

[英]Electron read file from dialog box getting type error

我正在编写一个 electron 程序,该程序需要读取一个文件以供我应用另一个程序。 现在我只希望它成功读取并记录文件的内容。

这是我在名为 script.js 的脚本中使用的代码,它包含在 index.html 的脚本标签中

// dialog box
const { dialog } = require('electron').remote;
// file system, needed to read contents of the ecgFile
const {fs} = require('fs');

const dialogOptions = {properties:['openFile']}

// bool for checking if file has been selected
let isFileSelected = false;
let ecgFile; // content of the ecgFile itself

// Buttons
const openFileBtn = document.getElementById('openFileBtn');

// on click event, opens the dialog box and loads content of the file
openFileBtn.onclick = () =>
{
  console.log("start")

  let filePathArray = dialog.showOpenDialogSync({properties: ['openFile']}) // output the filepath of the file selected
  let filePath = filePathArray[0] // set to the first object in the array, which is what is needed
  console.log("File Location -- "+ filePath) // print to check its hunky dory
  readFile(filePath) // read the file
  console.log("End")
};

function readFile(filePath) 
{
  fs.readFile(filePath,{"encoding": "utf8"},(err,data) =>
  {
    if (err)
    {
      console.log("Cannot read file",err);
      return;
    }
    console.log("Content of data: ")
    console.log(data);    
  }
  )
}

我能够成功打印我想要使用的文件路径,问题是当我将该文件路径传递给 readFile function

运行readFile function时,总是输出这个错误


Uncaught TypeError: Cannot read property 'readFile' of undefined
    at readFile (script.js:55)
    at HTMLButtonElement.openFileBtn.onclick (script.js:23)

我一直在寻找没有成功的解决方案。 感谢您的时间和帮助

fs导入不能被解构

代替

const {fs} = require('fs');

const fs = require('fs');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM