gpt4 book ai didi

javascript - 如何在 Electron 中使用文件对话框?

转载 作者:行者123 更新时间:2023-12-03 12:23:55 25 4
gpt4 key购买 nike

我是 Electron 新手,我正在尝试打开一个文件对话框,该对话框允许用户使用以下代码选择特定文件:

const {remote} = require("remote");
const {dialog} = require('electron').remote;

function openFileDialog() {
const savePath = dialog.showSaveDialog();
console.log(savePath)
}
但是,当我尝试这样做时,我在控制台中收到一条错误消息:

Uncaught TypeError: Cannot read property 'showSaveDialog' ofundefined.


有人知道我在做什么错吗?
编辑:
我现在正在使用下面建议的这段代码:
var remote = require("remote");
var dialog = require('dialog').remote;

function openFileDialog() {
const savePath = dialog.showSaveDialog(null);
console.log(savePath)
}
在名为settings.js的文件中,我使用以下代码调用该文件:
<input class="btn btn-dark" type="button" value="Input" onclick="openFileDialog();">
然后使用以下代码导入脚本:
   <script src="./../javascript/settings.js"></script>
我已经尝试了有和没有 Remote 。我仍然遇到相同的错误

最佳答案

如果要在main进程中使用它,并且要在renderer进程中使用它,这应该可以工作:

const { dialog } = require('electron').remote;
另外,最好在脚本中定义 event-handler。这是一个功能示例:
<input class="btn btn-dark" type="button" value="Input" id="dialogBtn">
const { dialog } = require('electron').remote;

document.getElementById("dialogBtn").addEventListener("click", openFileDialog);

async function openFileDialog() {
try {
const savePath = await dialog.showSaveDialog(null);
console.log('savePath: ', savePath);
} catch (e) {
console.log('Error:', e);
}
}

关于javascript - 如何在 Electron 中使用文件对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65874647/

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