我正在编写一个 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);
}
)
}
我能够成功打印要使用的filePath,问题是当我将该文件传递给readFile函数时当它运行readFile函数时,它总是输出此错误
Uncaught TypeError: Cannot read property 'readFile' of undefined
at readFile (script.js:55)
at HTMLButtonElement.openFileBtn.onclick (script.js:23)
我一直在寻找无法成功的解决方案。谢谢您的时间和帮助
最佳答案
关于javascript - Electron 从对话框读取文件得到类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66135674/