Openharmony文件路径使用

953 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情

文件路径使用

Openharmony上用户数据统一由媒体库进行管理,用户数据用户数据可以通过mediaLibrary提供的接口能力进行访问和操作。

公共目录路径支持的文件格式

在使用文件路径进行开发之前,需要了解各公共目录路径支持的文件格式说明。

注意: 下表仅表示系统能识别的文件类型,在具体的开发中,开发者需要关注对应接口支持的文件格式。 如image编码功能只支持.jpeg和.webp,解码功能只支持.jpg .png .gif .bmp .webp RAW。

目录路径目录类型媒体类型说明支持的文件格式
Camera/DIR_CAMERAVIDEO amd IMAGE相机拍摄图片与录像的存放路径,目录与子目录下可以存放视频,图片类型文件。.bmp / .bm / .gif / .jpg /. jpeg / .jpe / .png / .webp / .raw / .svg / .heif / .mp4 / .3gp / .mpg / .mov / .webm / .mkv
Videos/DIR_VIDEOVIDEO视频专有目录,目录与子目录下只可以存放视频类型文件。.mp4 / .3gp / .mpg / .mov / .webm / .mkv
Pictures/DIR_IMAGEIMAGE图片专有目录,目录与子目录下只可以存放图片类型文件。.bmp / .bm / .gif / .jpg /. jpeg / .jpe / .png / .webp / .raw / .svg / .heif
Audios/DIR_AUDIOAUDIO音频专有目录,目录与子目录下只可以存放音频类型文件。.aac/.mp3/.flac/.wav/.ogg
Documents/DIR_DOCUMENTSFILE文档类型目录,目录与子目录下只可以存放音频,图片,视频以外类型文件。-
Download/DIR_DOWNLOADALLTYPE下载文件存放目录,目录与子目录下文件类型不受限制。-

获取文件保存的公共目录

不同类型的文件会保存到不同的公共目录下,可以通过接口getPublicDirectory获取公共目录路径。

前提条件

  • 获取媒体库mediaLibrary实例。
  • 申请媒体库读权限“ohos.permission.READ_MEDIA。

下面是获取Camera文件保存的公共目录的方法。

async function example(){
    const context = getContext(this);
    var media = mediaLibrary.getMediaLibrary(context);
    let DIR_CAMERA = mediaLibrary.DirectoryType.DIR_CAMERA;
    const dicResult = await media.getPublicDirectory(DIR_CAMERA);
    if (dicResult == 'Camera/') {
        console.info('mediaLibraryTest : getPublicDirectory passed');
    } else {
        console.info('mediaLibraryTest : getPublicDirectory failed');
    }
}