gpt4 book ai didi

javascript - 在 Node js中创建具有权限的目录

转载 作者:数据小太阳 更新时间:2023-10-29 04:05:07 24 4
gpt4 key购买 nike

我正在尝试使用 mkdirp Node 模块创建一个文件夹。但它是在 0775 权限下创建的,但我需要在 0777 权限下创建。官方文档说它默认为 0777,但在我的情况下是 0755。有人可以帮我吗?代码:

var new_location = 'public/images/u/7/';
mkdirp(new_location, function(err) {
if (err) {
} else {
}
});

最佳答案

文档指出默认值是 0777 & (~process.umask()),这意味着您的 umask 值是从 0777 中“减去”的。因为 umask 通常是 002 或 022 ,你最终得到 0775 或 0755。

但是,即使您向 mkdirp() 提供 0777 权限,底层系统调用仍会应用 umask 值。为防止这种情况发生,您需要清除 umask,使用您想要的权限创建目录,并(可选)将 umask 恢复为其以前的值:

var oldmask = process.umask(0);
mkdirp(new_location, '0777', function(err) {
process.umask(oldmask);
if (err) ...
...
});

或者,您可以使用 fs.chmod()在创建目录后设置正确的权限。

关于javascript - 在 Node js中创建具有权限的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34720794/

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