openharmony 鸿蒙 js-apis-file-securityLabel

2025-06-12 浏览 (1)

@ohos.file.securityLabel (Data Label)

The securityLabel module provides APIs for managing data security levels of files, including obtaining and setting file security levels.

NOTE

The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import { securityLabel } from '@kit.CoreFileKit';

How to Use

Before using the APIs provided by this module to perform operations on a file or directory, obtain the application sandbox path of the file or directory as follows:

import { UIAbility } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';

export default class EntryAbility extends UIAbility {
  onWindowStageCreate(windowStage: window.WindowStage) {
    let context = this.context;
    let pathDir = context.filesDir;
  }
}

For details about how to obtain the application sandbox path, see Obtaining Application File Paths.

DataLevel

type DataLevel = 's0'|'s1'|'s2'|'s3'|'s4'

Defines the data security level.

System capability: SystemCapability.FileManagement.File.FileIO

securityLabel.setSecurityLabel

setSecurityLabel(path:string, type:DataLevel):Promise<void>

Sets a security label for a file. The security label cannot be changed from a higher level to a lower level. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesFile path.
typeDataLevelYesSecurity label to set, which can be s0, s1, s2, s3, or s4.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Basic File IO Error Codes.

IDError Message
13900001Operation not permitted
13900007Arg list too long
13900015File exists
13900020Invalid argument
13900025No space left on device
13900037No data available
13900041Quota exceeded
13900042Unknown error

Example

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + '/test.txt';
securityLabel.setSecurityLabel(filePath, "s0").then(() => {
  console.info("setSecurityLabel successfully");
}).catch((err: BusinessError) => {
  console.error("setSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
});

securityLabel.setSecurityLabel

setSecurityLabel(path:string, type:DataLevel, callback: AsyncCallback<void>):void

Sets a security label for a file. The security label cannot be changed from a higher level to a lower level. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesFile path.
typeDataLevelYesSecurity label to set, which can be s0, s1, s2, s3, or s4.
callbackAsyncCallback<void>YesCallback used to return the security label set.

Error codes

For details about the error codes, see Basic File IO Error Codes.

IDError Message
13900001Operation not permitted
13900007Arg list too long
13900015File exists
13900020Invalid argument
13900025No space left on device
13900037No data available
13900041Quota exceeded
13900042Unknown error

Example

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + '/test.txt';
securityLabel.setSecurityLabel(filePath, "s0", (err: BusinessError) => {
  if (err) {
    console.error("setSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.info("setSecurityLabel successfully.");
  }
});

securityLabel.setSecurityLabelSync

setSecurityLabelSync(path:string, type:DataLevel):void

Sets a security label for a file. This API returns the result synchronously. The security label cannot be changed from a higher level to a lower level.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesFile path.
typeDataLevelYesSecurity label to set, which can be s0, s1, s2, s3, or s4.

Error codes

For details about the error codes, see Basic File IO Error Codes.

IDError Message
13900001Operation not permitted
13900007Arg list too long
13900015File exists
13900020Invalid argument
13900025No space left on device
13900037No data available
13900041Quota exceeded
13900042Unknown error

Example

let filePath = pathDir + '/test.txt';
securityLabel.setSecurityLabelSync(filePath, "s0");

securityLabel.getSecurityLabel

getSecurityLabel(path:string):Promise<string>

Obtains the security label. If no security label has been set for the file, s3 is returned by default. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesFile path.

Return value

TypeDescription
Promise<string>Security label obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

IDError Message
13900001Operation not permitted
13900007Arg list too long
13900015File exists
13900020Invalid argument
13900025No space left on device
13900037No data available
13900041Quota exceeded
13900042Unknown error

Example

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + '/test.txt';
securityLabel.getSecurityLabel(filePath).then((type: string) => {
  console.log("getSecurityLabel successfully, Label: " + type);
}).catch((err: BusinessError) => {
  console.error("getSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
});

securityLabel.getSecurityLabel

getSecurityLabel(path:string, callback:AsyncCallback<string>): void

Obtains the security label. If no security label has been set for the file, s3 is returned by default. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesFile path.
callbackAsyncCallback<string>YesCallback used to return the security label obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

IDError Message
13900001Operation not permitted
13900007Arg list too long
13900015File exists
13900020Invalid argument
13900025No space left on device
13900037No data available
13900041Quota exceeded
13900042Unknown error

Example

import { BusinessError } from '@kit.BasicServicesKit';
let filePath = pathDir + '/test.txt';
securityLabel.getSecurityLabel(filePath, (err: BusinessError, type: string) => {
  if (err) {
    console.error("getSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
  } else {
    console.log("getSecurityLabel successfully, Label: " + type);
  }
});

securityLabel.getSecurityLabelSync

getSecurityLabelSync(path:string):string

Obtains the security label. This API returns the result synchronously. If no security label has been set for the file, s3 is returned by default.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

NameTypeMandatoryDescription
pathstringYesFile path.

Return value

TypeDescription
stringSecurity label obtained.

Error codes

For details about the error codes, see Basic File IO Error Codes.

IDError Message
13900001Operation not permitted
13900007Arg list too long
13900015File exists
13900020Invalid argument
13900025No space left on device
13900037No data available
13900041Quota exceeded
13900042Unknown error

Example

let filePath = pathDir + '/test.txt';
let type = securityLabel.getSecurityLabelSync(filePath);
console.log("getSecurityLabel successfully, Label: " + type);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Core File Kit

harmony 鸿蒙Environment

harmony 鸿蒙FileIO

harmony 鸿蒙FileShare_PolicyErrorResult

harmony 鸿蒙FileShare_PolicyInfo

harmony 鸿蒙error_code.h

harmony 鸿蒙File Management Error Codes

harmony 鸿蒙FileShare

harmony 鸿蒙FileUri

harmony 鸿蒙@ohos.application.BackupExtensionAbility (Backup and Restore Extension Capability) (System API)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/4zlIDe