HarmonyOS 缓存到this.context.filesDir的文件,如何在手机上看到?

将日志保存到了缓存到this.context.filesDir的文件夹下面,如何在真机上找到对应的文件夹?

阅读 506
1 个回答

执行以下demo后,可在文件-\>我的手机-\>下载里新建文件夹,后续用户可以直接将文件保存在该URI下。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5\#download模式保存文件

import { BusinessError } from '@kit.BasicServicesKit';
import { picker } from '@kit.CoreFileKit';
import { common } from '@kit.AbilityKit';

// 创建文件管理器选项实例
const documentSaveOptions = new picker.DocumentSaveOptions();
// 配置保存的模式为DOWNLOAD,若配置了DOWNLOAD模式,此时配置的其他documentSaveOptions参数将不会生效。
documentSaveOptions.pickerMode = picker.DocumentPickerMode.DOWNLOAD

@Entry
@Component
struct ClearCache {
  writeFile() {
    let uri: string = '';
    // 请确保 getContext(this) 返回结果为 UIAbilityContext
    let context = getContext(this) as common.Context;
    const documentViewPicker = new picker.DocumentViewPicker(context);
    const documentSaveOptions = new picker.DocumentSaveOptions();
    documentSaveOptions.pickerMode = picker.DocumentPickerMode.DOWNLOAD;
    documentViewPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => {
      uri = documentSaveResult[0];
      console.info('documentViewPicker.save succeed and uri is:' + uri);
    }).catch((err: BusinessError) => {
      console.error(`Invoke documentViewPicker.save failed, code is ${err.code}, message is ${err.message}`);
    })
  }

  build() {
    Column() {
      Button('写入数据')
        .onClick(() => {
          this.writeFile();
        })
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进