数据标签

2024-01-23 16:32 更新

该模块提供文件数据安全等级的相关功能:向应用程序提供查询、设置文件数据安全等级的JS接口。

说明

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

  1. import securityLabel from '@ohos.file.securityLabel';

使用说明

使用该功能模块对文件/目录进行操作前,需要先获取其应用沙箱路径,获取方式及其接口用法请参考:

Stage模型

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. export default class EntryAbility extends UIAbility {
  3. onWindowStageCreate(windowStage) {
  4. let context = this.context;
  5. let pathDir = context.filesDir;
  6. }
  7. }

FA模型

  1. import featureAbility from '@ohos.ability.featureAbility';
  2. let context = featureAbility.getContext();
  3. context.getFilesDir().then((data) => {
  4. let pathDir = data;
  5. })

FA模型context的具体获取方法参见FA模型

securityLabel.setSecurityLabel

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

以异步方法设置数据标签,以promise形式返回结果。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名

类型

必填

说明

path

string

文件路径

type

DataLevel

文件等级属性,只支持"s0","s1","s2","s3","s4"

返回值:

类型

说明

Promise<void>

Promise实例,用于异步获取结果。本调用将返回空值。

错误码:

以下错误码的详细介绍请参见基础文件IO错误码

错误码ID

错误信息

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

示例:

  1. let filePath = pathDir + '/test.txt';
  2. securityLabel.setSecurityLabel(filePath, "s0").then(() => {
  3. console.info("setSecurityLabel successfully");
  4. }).catch((err) => {
  5. console.error("setSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
  6. });

securityLabel.setSecurityLabel

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

以异步方法设置数据标签,以callback形式返回结果。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名

类型

必填

说明

path

string

文件路径

type

DataLevel

文件等级属性,只支持"s0","s1","s2","s3","s4"

callback

AsyncCallback<void>

是否设置数据标签之后的回调

错误码:

以下错误码的详细介绍请参见基础文件IO错误码

错误码ID

错误信息

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

示例:

  1. let filePath = pathDir + '/test.txt';
  2. securityLabel.setSecurityLabel(filePath, "s0", (err) => {
  3. if (err) {
  4. console.error("setSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
  5. } else {
  6. console.info("setSecurityLabel successfully.");
  7. }
  8. });

securityLabel.setSecurityLabelSync

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

以同步方法设置数据标签。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名

类型

必填

说明

path

string

文件路径

type

DataLevel

文件等级属性,只支持"s0","s1","s2","s3","s4"

错误码:

以下错误码的详细介绍请参见基础文件IO错误码

错误码ID

错误信息

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

示例:

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

securityLabel.getSecurityLabel

getSecurityLabel(path:string):Promise<string>

异步方法获取数据标签,以promise形式返回结果。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名

类型

必填

说明

path

string

文件路径

返回值:

类型

说明

Promise<string>

返回数据标签

错误码:

以下错误码的详细介绍请参见基础文件IO错误码

错误码ID

错误信息

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

示例:

  1. let filePath = pathDir + '/test.txt';
  2. securityLabel.getSecurityLabel(filePath).then((type) => {
  3. console.log("getSecurityLabel successfully, Label: " + type);
  4. }).catch((err) => {
  5. console.log("getSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
  6. });

securityLabel.getSecurityLabel

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

异步方法获取数据标签,以callback形式返回结果。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名

类型

必填

说明

path

string

文件路径

callback

AsyncCallback<string>

异步获取数据标签之后的回调

错误码:

以下错误码的详细介绍请参见基础文件IO错误码

错误码ID

错误信息

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

示例:

  1. let filePath = pathDir + '/test.txt';
  2. securityLabel.getSecurityLabel(filePath, (err, type) => {
  3. if (err) {
  4. console.log("getSecurityLabel failed with error message: " + err.message + ", error code: " + err.code);
  5. } else {
  6. console.log("getSecurityLabel successfully, Label: " + type);
  7. }
  8. });

securityLabel.getSecurityLabelSync

getSecurityLabelSync(path:string):string

以同步方法获取数据标签。

系统能力:SystemCapability.FileManagement.File.FileIO

参数:

参数名

类型

必填

说明

path

string

文件路径

返回值:

类型

说明

string

返回数据标签

错误码:

以下错误码的详细介绍请参见基础文件IO错误码

错误码ID

错误信息

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

示例:

  1. let filePath = pathDir + '/test.txt';
  2. let type = securityLabel.getSecurityLabelSync(filePath);
  3. console.log("getSecurityLabel successfully, Label: " + type);
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号