gpt4 book ai didi

node.js - Electron 奇怪的错误。未捕获的异常: TypeError [ERR_INVALID_ARG_TYPE]: The “path”

转载 作者:行者123 更新时间:2023-12-03 12:30:06 24 4
gpt4 key购买 nike

嗨,我正在尝试按照Electron上的教程进行操作,但是尝试从我创建的菜单中打开文件时,我一直收到此错误。

未捕获的异常:
TypeError [ERR_INVALID_ARG_TYPE]:“path”参数必须是字符串,Buffer或URL类型之一。收到的类型未定义...

这是我的功能。

function openFile() {
// Opens file dialog looking for markdown
const files = dialog.showOpenDialog(mainWindow, {
properties: ['openFile'],
filters: [{ name: 'Markdown', extensions: ['md', 'markdown', 'txt'] }]
});

// If no files
if (!files) return;

const file = files[0]; // Grabs first file path in array
// Loads file contents via path acquired via the dialog
const fileContent = fs.readFileSync(file).toString();
console.log(fileContent);
}

尝试恢复为旧版本等。无济于事。

感谢您的任何建议。

最佳答案

在这里要小心,showOpenDialog()是一个异步函数,并返回一个promise。

在您的情况下,正确的用法是:

dialog.showOpenDialog(mainWindow, {
properties: ['openFile'],
filters: [{ name: 'Markdown', extensions: ['md', 'markdown', 'txt'] }]
}).then(result => {
const file = result.filePaths[0];
const fileContent = fs.readFileSync(file).toString();
console.log(fileContent);
}).catch(err => {
console.log(err)
});

还可以考虑使用 readFile而不是 readFileSync来避免阻塞Electron主线程。

关于node.js - Electron 奇怪的错误。未捕获的异常: TypeError [ERR_INVALID_ARG_TYPE]: The “path” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57721529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com