當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js fsPromises.chmod()用法及代碼示例


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




相關用法


注:本文由純淨天空篩選整理自nitin_sharma大神的英文原創作品 Node.js | fsPromises.chmod() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。