harmony 鸿蒙@ohos.file.securityLabel (Data Label)

  • 2023-02-17
  • 浏览 (617)

@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 '@ohos.file.securityLabel';

Guidelines

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

Stage Model

  import UIAbility from '@ohos.app.ability.UIAbility';
  import window from '@ohos.window';

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

FA Model

  import featureAbility from '@ohos.ability.featureAbility';

  let context = featureAbility.getContext();
  context.getFilesDir().then((data) => {
    let pathDir = data;
  })

For details about how to obtain the FA model context, see Context.

securityLabel.setSecurityLabel

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

Sets a security label for a file in asynchronous mode. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Path of the target file.
type DataLevel Yes File security level to set, which can be s0, s1, s2, s3, or s4.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

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

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

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + '/test.txt';
  securityLabel.setSecurityLabel(filePath, "s0").then(() => {
    console.info("setSecurityLabel successfully");
  }).catch((err: BusinessError) => {
    console.info("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 in asynchronous mode. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Path of the target file.
type DataLevel Yes File security level to set, which can be s0, s1, s2, s3, or s4.
callback AsyncCallback<void> Yes Callback invoked to return the result.

Error codes

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

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

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + '/test.txt';
  securityLabel.setSecurityLabel(filePath, "s0", (err: BusinessError) => {
    if (err) {
      console.info("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 in synchronous mode.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Path of the target file.
type DataLevel Yes File security level 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.

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

Example

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

securityLabel.getSecurityLabel

getSecurityLabel(path:string):Promise<string>

Obtains the security label of a file in asynchronous mode. This API uses a promise to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Path of the target file.

Return value

Type Description
Promise<string> Security label obtained.

Error codes

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

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

Example

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

securityLabel.getSecurityLabel

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

Obtains the security label of a file in asynchronous mode. This API uses a callback to return the result.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Path of the target file.
callback AsyncCallback<string> Yes Callback invoked to return the security label obtained.

Error codes

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

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

Example

  import { BusinessError } from '@ohos.base';
  let filePath = pathDir + '/test.txt';
  securityLabel.getSecurityLabel(filePath, (err: BusinessError, type: string) => {
    if (err) {
      console.log("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 of a file in synchronous mode.

System capability: SystemCapability.FileManagement.File.FileIO

Parameters

Name Type Mandatory Description
path string Yes Path of the target file.

Return value

Type Description
string Security label obtained.

Error codes

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

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

Example

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

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

0  赞