目录

获取文件属性标签

场景介绍

Enterprise Data Guard Kit为应用提供获取文件属性标签的能力,HarmonyOS系统根据管控策略和文件属性标签对文件实行管控。

接口说明

详细接口说明可参考接口文档。

接口名 描述
queryFileTag(path: string, callback: AsyncCallback<FileTagInfo>): void 使用Callback方式获取文件属性标签。
queryFileTag(path: string): Promise<FileTagInfo> 使用Promise方式获取文件属性标签。

开发步骤

  1. 导入模块。

    import { BusinessError } from '@kit.BasicServicesKit';
    import { fileGuard } from '@kit.EnterpriseDataGuardKit';
    import { hilog } from '@kit.PerformanceAnalysisKit';
  2. 初始化FileGuard对象guard,调用接口queryFileTag,获取文件属性标签。

    • 通过回调函数方式,获取文件属性标签。

      const TAG: string = 'FileGuard_FileTag';
      const DOMAIN: number = 0x0000;
      
      // ...
      /**
       * 获取文件属性标签。使用callback异步回调。
       */
      function queryFileTagCallback() {
        let guard: fileGuard.FileGuard = new fileGuard.FileGuard();
        let path: string = '/data/service/el2/test/test1.txt';
        guard.queryFileTag(path, (err: BusinessError, data: fileGuard.FileTagInfo) => {
          if (err) {
            hilog.error(DOMAIN, TAG, `Failed to query file tag. Code: ${err.code}, message: ${err.message}.`);
            return;
          }
          hilog.info(DOMAIN, TAG,
            `Succeeded in querying file tag. securityLevel: ${data.securityLevel}, tag: ${data.tag}.`);
        });
      }
    • 通过Promise方式,获取文件属性标签。

      const TAG: string = 'FileGuard_FileTag';
      const DOMAIN: number = 0x0000;
      
      // ...
      /**
       * 获取文件属性标签。使用Promise异步回调。
       */
      function queryFileTagPromise() {
        let guard: fileGuard.FileGuard = new fileGuard.FileGuard();
        let path: string = '/data/service/el2/test/test2.txt';
        guard.queryFileTag(path).then((data: fileGuard.FileTagInfo) => {
          hilog.info(DOMAIN, TAG,
            `Succeeded in querying file tag. securityLevel: ${data.securityLevel}, tag: ${data.tag}.`);
        }).catch((err: BusinessError) => {
          hilog.error(DOMAIN, TAG, `Failed to query file tag. Code: ${err.code}, message: ${err.message}.`);
        });
      }