我正在尝试获取已选定目录中的文件路径。
我用
//main.js
const fs = require('fs')
app.whenReady().then(() => {
ipc.handle('files:getFiles', (direct) => getFiles(direct))
})
async function getFiles(direct) {
fs.readdir(direct, (err, files) => {return files})
}
//preload.js
const { contextBridge, ipcRenderer } = require('electron')
contextBridge.exposeInMainWorld('electronAPI', {
openFile: () => ipcRenderer.invoke('dialog:openFile'),
getFiles: (direct) => ipcRenderer.invoke('files:getFiles')
})
//renderer.js
const getFiles = (direct) => {
let paths = await window.electronAPI.getFiles(directory)
console.log(direct) //this line has not run because of the errors
}
我在renderer控制台的控制台中运行这个函数getFiles('somedirectory')
,它吐出错误:Uncaught (in promise) Error: Error invoking remote method 'files:getFiles': TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received an instance of Event
我传递了一个字符串作为目录的参数,所以我不明白为什么会抛出这个错误。
我该怎么办?
1条答案
按热度按时间dojqjjoe1#
改变它从
到
第一个参数是事件而不是您发送的数据