Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Electron dialog.showOpenDialog()过滤器不工作_Javascript_Node.js_Electron - Fatal编程技术网

Javascript Electron dialog.showOpenDialog()过滤器不工作

Javascript Electron dialog.showOpenDialog()过滤器不工作,javascript,node.js,electron,Javascript,Node.js,Electron,我正在GitHub上开发一个IDE分支,其中一个主要问题是它将文件保存到Cookie,而不是普通计算机。所以,我需要一种保存和打开文件的方法。我已经通过使用blob关闭了保存文件系统。然而,根据控制台的说法,在打开文件时,会提供一个“意外字符串”,尽管它非常普通 功能如下: function openFileCMD() { console.log('Opening File...'); dialog.showOpenDialog( (fileName), { filters: [{

我正在GitHub上开发一个IDE分支,其中一个主要问题是它将文件保存到Cookie,而不是普通计算机。所以,我需要一种保存和打开文件的方法。我已经通过使用blob关闭了保存文件系统。然而,根据控制台的说法,在打开文件时,会提供一个“意外字符串”,尽管它非常普通

功能如下:

function openFileCMD() {
console.log('Opening File...');
dialog.showOpenDialog( (fileName), {
    filters: [{ 
        name: 'Text Files', 
        extensions: ['txt'] 
    }, { 
        name: 'HTML Files',
        extensions: ['html', 'htm']
    }, {
        name: 'Rich Text File',
        extensions: ['rtf'] 
    }, { 
        name: 'XML/YAMLFile', 
        extensions: ['xml', 'yml', 'yaml'] 
    }, { 
        name: 'JSON File', 
        extensions: ['json'] }
    ]} => {
    if(fileName === undefined) {
        console.log("Ouch. That wall hurt. Can you pick a file this time? Please?");
        // document.getElementsByClassName('alert')[0].style.display = "block";
        return;
    }
    fs.readFile(fileName[0], 'utf-8', (err, data) => {
        if(err){
            alert("Woah. Something went wrong. Check the console for more info.");
            console.log("An error occured reading the file : " + err.message);
            return;
        } else {
            document.getElementById("code-editor").value = "<pre><code>" + data + "</code></pre>";
        }
    });
closeSidebar();
}
"; } }); closeSidebar(); } 提前感谢任何能够帮助解决此问题或为我指出解决此问题的正确方向的人!:)

编辑:我试过使用
对话框。showOpenDialog
全部放在一行:仍然无效。

您收到的“意外字符串”错误消息与筛选器无关,但与未正确调用的事实有关

dialog.showOpenDialog (options, filename => { ... });
应改为:


你仔细检查了Electron API引用了吗?这可能会有帮助。@WillHoskings是的,我一开始实际上复制了它,然后只是更改了现有的过滤器并添加了一些新的过滤器。我真的无法想象它会就此中断。这与此无关,但你应该缓存
文档。get*
调用。你能吗在hastebin中为我们提供堆栈跟踪?@WillHoskings我知道缓存
文档的意思。获取*
s,但在hastebin中使用堆栈跟踪的wdym:我以前从未使用过该服务。啊,我现在明白了。我只需要将“fileName”变量翻转到过滤器的末尾。谢谢,@Mikaeru!!
dialog.showOpenDialog (options, filename => { ... });