@ohos.file.fileuri (文件URI)

该模块提供通过PATH获取文件统一资源标志符(Uniform Resource Identifier,URI),后续可通过使用@ohos.file.fs进行相关open、read、write等操作,实现文件分享。

说明:

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

导入模块

import fileUri from "@ohos.file.fileuri";

使用该功能模块前,需要先获取其应用沙箱路径,开发示例如下:

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;
  }
}

FileUri10+

属性

系统能力:SystemCapability.FileManagement.AppFileService

名称 类型 可读 可写 说明
path10+ string 获取FileUri对应路径名
name10+ string 获取FileUri对应文件名

constructor10+

constructor(uriOrPath: string)

constructor是FileUri的构造函数。

系统能力: SystemCapability.FileManagement.AppFileService

参数:

参数名 类型 必填 说明
uriOrPath string uri或路径。uri类型:
-  应用沙箱URI:file://<bundleName>/<sandboxPath>
-  公共目录文件类URI:file://docs/storage/Users/currentUser/<publicPath>
-  公共目录媒体类URI:file://media/<mediaType>/IMG_DATATIME_ID/<displayName>

错误码:

以下错误码的详细介绍请参见文件管理子系统错误码

错误码ID 错误信息
13900005 I/O error
13900042 Unknown error

示例:

let path = pathDir + '/test';
let uri = fileUri.getUriFromPath(path);  // file://<packageName>/data/storage/el2/base/haps/entry/files/test
let fileUriObject = new fileUri.FileUri(uri);
console.info("The name of FileUri is " + fileUriObject.name);

toString10+

toString(): string

系统能力: SystemCapability.FileManagement.AppFileService

返回字符串类型uri。

返回值:

类型 说明
string 返回字符串类型uri

示例:

let path = pathDir + '/test';
let fileUriObject = new fileUri.FileUri(path);
console.info("The uri of FileUri is " + fileUriObject.toString());

fileUri.getUriFromPath

getUriFromPath(path: string): string

以同步方法获取文件URI。

系统能力:SystemCapability.FileManagement.AppFileService

参数:

参数名 类型 必填 说明
path string 文件的沙箱路径

返回值:

类型 说明
string 返回文件URI

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
401 The input parameter is invalid

示例:

let filePath = pathDir + "/test";
let uri = fileUri.getUriFromPath(filePath);