@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);