电子fs - EPERM:不允许操作,打开'C:\ Windows \ System32 \ drivers \ etc \ hosts'

问题描述 投票:0回答:1

电子或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");
});
}
windows electron file-permissions fs hosts
1个回答
0
投票

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

您需要执行exec命令并显示图形操作系统提示。

© www.soinside.com 2019 - 2024. All rights reserved.