电子fs-EPERM:不允许进行操作,请打开“ C:\ Windows \ System32 \ drivers \ etc \ hosts”

时间:2019-04-18 16:19:03

标签: windows electron file-permissions fs hosts


电子或nodejs中是否有一种方法可以要求用户授予编辑文件的权限,例如如弹出窗口,如果您要安装程序并且需要管理员权限。

使用默认权限设置读取文件没有任何问题。如果我在Windows资源管理器中更改了文件权限,我的电子应用程序可以写入/编辑文件,但这不能解决我的问题。

const fs = require("fs");
let letPathtoFile = "C:/Windows/System32/drivers/etc/hosts";

function funcReadFile() {

    fs.readFile(letPathtoFile, function (err, data) {
      if (err) {
        return console.error(err);
      }

        $('#idReadFileContent').text(data);
    });
}


function funcWriteFile() {
    let letNewContent = $('#idWriteFileContent').val();
    fs.writeFile(letPathtoFile, letNewContent, (err) => {
    if (err) {
        alert(err.message);
        console.log(err);
        return;
    }

    alert("File saved");
});
}

1 个答案:

答案 0 :(得分:0)

是的,有一种方法-您可以使用sudo-promptNPMGitHub)或electron-sudoNPMGitHub )。

您需要执行一个exec命令,然后会显示图形化的OS提示符。