fsPromises.chmod()方法用於更改給定路徑的權限。可以使用字符串常量或與它們各自的文件模式相對應的八進製數字來指定這些權限。
注意:Windows平台僅支持更改寫權限。它不支持區分用戶權限,組權限或其他權限。它更改文件的權限,然後在成功時不帶任何參數地解決Promise。
用法:
fsPromises.chmod( path, mode)
參數:該方法接受上述和以下所述的兩個參數:
- path:它是一個字符串,Buffer或URL,表示必須更改其權限的文件的路徑。
- mode:它是字符串或八進製整數常量,表示要授予的權限。邏輯或運算符可用於分隔多個權限。
以下示例說明了Node.js中的fsPromises.chmod()方法:
範例1:本示例說明使用八進製整數常量來授予文件權限。
// Node.js program to demonstrate the
// fsPromises.chmod() method
// Import the filesystem module
const fs = require('fs');
const fsPromises = require('fs').promises;
console.log("Granting only read access to user");
fsPromises.chmod("example.txt", 0o400 )
console.log("\nReading the file contents");
console.log(fs.readFileSync("example.txt", 'utf8'));
console.log("\nTrying to write to file");
try {
fs.writeFileSync('example.txt',
"This file has now been edited.");
}
catch (e) {
console.log("Error Code:", e.code);
}
console.log("\nGranting read and write access to user");
fsPromises.chmod("example.txt", 0o600 )
console.log("Trying to write to file");
fs.writeFileSync('example.txt',
"This file has now been edited.");
console.log("\nReading the file contents");
console.log(fs.readFileSync("example.txt", 'utf8'));
輸出:
Granting only read access to user Reading the file contents This file has now been edited. Trying to write to file Error Code:EPERM Granting read and write access to user Trying to write to file Reading the file contents This file has now been edited.
範例2:本示例說明了使用字符串常量和或運算符賦予文件權限的方法
// Node.js program to demonstrate the
// fsPromises.chmod() method
// Import the filesystem module
const fs = require('fs');
const fsPromises = fs.promises;
// Grant only read permission to user
console.log("Granting only read access to user");
fsPromises.chmod("example.txt", fs.constants.R_OK);
// Reading the file
console.log("File Contents:",
fs.readFileSync("example.txt", 'utf8'));
// Trying to write to file
try {
console.log("\nTrying to write to file");
fs.writeFileSync('example.txt',
"This file now has been edited.");
}
catch (e) {
console.log(
"Error Occurred, Error Code:", e.code);
}
// Granting both read and
// write permission
console.log("\nGranting both read and "
+ 'write permission to user");
fsPromises.chmod("example.txt",
fs.constants.R_OK | fs.constants.W_OK);
// Check the file mode
console.log("Current File Mode:",
fs.statSync("example.txt").mode);
console.log("Trying to write to file");
try
{
fs.writeFileSync('example.txt',
"This file now has been edited.");
} catch (e) {
console.log("Error ", e.code);
}
console.log("File Contents:",
fs.readFileSync("example.txt", 'utf8'));
輸出:
Granting only read access to user File Contents:This file has now been edited. Trying to write to file Error Occurred, Error Code:EPERM Granting both read and write permission to user Current File Mode:33060 Trying to write to file Error EPERM File Contents:This file has now been edited.
參考: https://nodejs.org/api/fs.html#fs_fspromises_chmod_path_mode
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js GM paint()用法及代碼示例
- Node.js GM drawRectangle()用法及代碼示例
- Node.js GM whiteThreshold()用法及代碼示例
- Node.js GM whitePoint()用法及代碼示例
- Node.js GM spread()用法及代碼示例
- Node.js GM drawBezier()用法及代碼示例
- Node.js GM orderedDither()用法及代碼示例
- Node.js GM quality()用法及代碼示例
- Node.js GM raise()用法及代碼示例
- Node.js GM resize()用法及代碼示例
- Node.js GM segment()用法及代碼示例
- Node.js GM threshold()用法及代碼示例
- Node.js GM roll()用法及代碼示例
注:本文由純淨天空篩選整理自nitin_sharma大神的英文原創作品 Node.js | fsPromises.chmod() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。