electron 有没有办法获取目录中的文件

n8ghc7c1  于 2023-09-28  发布在  Electron
关注(0)|答案(1)|浏览(165)

我正在尝试获取已选定目录中的文件路径。
我用

//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
我传递了一个字符串作为目录的参数,所以我不明白为什么会抛出这个错误。
我该怎么办?

dojqjjoe

dojqjjoe1#

改变它从

ipc.handle('files:getFiles', (direct) => getFiles(direct))

ipc.handle('files:getFiles', (event,direct) => getFiles(direct))

第一个参数是事件而不是您发送的数据

相关问题