文档管理中心
您当前浏览的HarmonyOS 5.0.1(API 13)文档归档不再维护,推荐您使用最新版本。详细请参考文档维护策略变更
API参考应用服务Preview Kit(文件预览服务)filePreview(文件预览)

filePreview(文件预览)

本模块为应用提供便捷的文件快速预览能力。应用可以通过文件预览提供的系统级预览API,可快速启动预览界面,实现对各类文件的预览。通过预览服务,用户可以对文件(包括图片,视频,音频,文本、html等)进行操作。

本模块提供接入文件快速预览的能力,可通过传递文件信息快速打开预览窗口。

支持的预览文件类型如下:

展开

类型

文件后缀

mimeType类型

文本

txt、cpp、c、h、java、xhtml、xml

text/plain、text/x-c++src、text/x-csrc、text/x-chdr、text/x-java、application/xhtml+xml、text/xml

网页

html、htm

text/html

图片

jpg、png、gif、webp、bmp、svg

image/jpeg、image/png、image/gif、image/webp,image/bmp、image/svg+xml

音频

m4a、aac、mp3、ogg、wav

audio/mp4a-latm、audio/aac、audio/mpeg、audio/ogg、audio/x-wav

视频

mp4、mkv、ts

video/mp4、video/x-matroska、video/mp2ts

文件夹

文档

pdf

application/pdf

起始版本:5.0.0(12)

Office文档

doc、docx、xls、xlsx、ppt、pptx、csv

application/msword、application/vnd.openxmlformats-officedocument.wordprocessingml.document、application/vnd.ms-excel、application/vnd.openxmlformats-officedocument.spreadsheetml.sheet、application/vnd.ms-powerpoint、application/vnd.openxmlformats-officedocument.presentationml.presentation、text/comma-separated-values

起始版本:5.0.0(12)

起始版本:4.1.0(11)

导入模块

收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';

PreviewInfo

文件预览信息,包含了文件标题名、uri以及文件类型(mimeType)。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

展开

名称

类型

只读

可选

说明

title

string

文件的标题名称

uri

string

文件的uri

mimeType

string

文件(夹)的媒体资源类型,如text/plain

DisplayInfo

悬浮窗口的属性值,包含了悬浮窗大小以及位置信息。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

展开

名称

类型

只读

可选

说明

x

number

预览窗口的起始X轴,单位px

y

number

预览窗口的起始Y轴,单位px

width

number

预览窗口的宽度,单位px

height

number

预览窗口的高度,单位px

openPreview

openPreview(context: Context, file: PreviewInfo, info?: DisplayInfo): Promise<void>

通过传入文件预览信息以及悬浮窗口属性信息,打开预览窗口。1秒内重复调用无效。使用Promise方式异步返回结果。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

file

PreviewInfo

文件的预览信息,title为可选,不填会通过uri解析,无法解析则显示未知文件。

info

DisplayInfo

模态窗口的窗口展示信息,2in1端不填写则展示默认大小窗口,手机和平板设备填写无效。

返回值:

展开

类型

说明

Promise<void>

无返回结果的Promise对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. let uiContext = getContext(this);
  4. let displayInfo: filePreview.DisplayInfo = {
  5. x: 100,
  6. y: 100,
  7. width: 800,
  8. height: 800
  9. };
  10. let fileInfo: filePreview.PreviewInfo = {
  11. title: '1.txt',
  12. // 该uri仅为参考,需要根据实际业务传入真实uri
  13. uri: 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt',
  14. mimeType: 'text/plain'
  15. };
  16. filePreview.openPreview(uiContext, fileInfo, displayInfo).then(() => {
  17. console.info('Succeeded in opening preview');
  18. }).catch((err: BusinessError) => {
  19. console.error(`Failed to open preview, err.code = ${err.code}, err.message = ${err.message}`);
  20. });

openPreview

openPreview(context: Context, file: PreviewInfo, info: DisplayInfo, callback: AsyncCallback<void>): void

通过传入文件预览信息以及悬浮窗口属性信息,打开预览窗口。1秒内重复调用无效。使用Callback回调异步返回结果。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

file

PreviewInfo

文件的预览信息,title为可选,不填写时会通过uri解析,无法解析则显示未知文件。

info

DisplayInfo

模态窗口的窗口展示信息,手机和平板设备填写无效。

callback

AsyncCallback<void>

回调函数。当预览窗口成功打开时,err为undefined或err.code为0,否则为错误对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:

收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';
  2. let uiContext = getContext(this);
  3. let displayInfo: filePreview.DisplayInfo = {
  4. x: 100,
  5. y: 100,
  6. width: 800,
  7. height: 800
  8. };
  9. let fileInfo: filePreview.PreviewInfo = {
  10. title: '1.txt',
  11. // 该uri仅为参考,需要根据实际业务传入真实uri
  12. uri: 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt',
  13. mimeType: 'text/plain'
  14. };
  15. filePreview.openPreview(uiContext, fileInfo, displayInfo, (err) => {
  16. if (err && err.code) {
  17. console.error(`Failed to open preview, err.code = ${err.code}, err.message = ${err.message}`);
  18. return;
  19. }
  20. console.info('Succeeded in opening preview');
  21. });

openPreview

openPreview(context: Context, files: Array<PreviewInfo>, index?: number): Promise<void>

通过传入多个文件预览信息以及选择展示的文件信息下标,打开预览窗口。1秒内重复调用无效。使用Promise方式异步返回结果。

元服务API:从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:5.0.0(12)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

files

Array<PreviewInfo>

文件预览信息列表。

index

number

预览窗口打开时展示的文件预览信息下标,不填默认为0。取值范围大于等于0,小于files长度。

返回值:

展开

类型

说明

Promise<void>

无返回结果的Promise对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

801

Capability not supported.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. let uiContext = getContext(this);
  4. let fileInfo: filePreview.PreviewInfo = {
  5. title: '1.txt',
  6. // 该uri仅为参考,需要根据实际业务传入真实uri
  7. uri: 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt',
  8. mimeType: 'text/plain'
  9. };
  10. let files: Array<filePreview.PreviewInfo> = new Array();
  11. files.push(fileInfo);
  12. filePreview.openPreview(uiContext, files, 0).then(() => {
  13. console.info('Succeeded in opening preview');
  14. }).catch((err: BusinessError) => {
  15. console.error(`Failed to open preview, err.code = ${err.code}, err.message = ${err.message}`);
  16. });

canPreview

canPreview(context: Context, uri: string): Promise<boolean>

根据文件的uri判断文件是否可预览,当传入支持的文件uri或文件夹uri时,会返回true;传入不可预览的文件uri时,返回false。使用Promise方式异步返回结果。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

uri

string

文件uri

返回值:

展开

类型

说明

Promise<boolean>

Promise对象,当传入支持的文件uri或文件夹uri时,会返回true;传入不可预览的文件uri或不存在的文件夹uri时,返回false。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. // e.g 文件存在且类型符合或文件夹时,该uri仅为参考,需要根据实际业务传入真实uri
  4. let uri = 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt';
  5. let uiContext = getContext(this);
  6. filePreview.canPreview(uiContext, uri).then((result) => { // 文件存在且符合类型时,此处返回true
  7. console.info(`Succeeded in obtaining the result of whether it can be previewed. result = ${result}`);
  8. }).catch((err: BusinessError) => {
  9. console.error(`Failed to obtain the result of whether it can be previewed, err.code = ${err.code}, err.message = ${err.message}`);
  10. })
收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. // e.g 文件不存在或文件类型不符合时,该uri仅为参考,需要根据实际业务传入uri
  4. let uri = 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/9.txt';
  5. let uiContext = getContext(this);
  6. filePreview.canPreview(uiContext, uri).then((result) => { // 文件不存在或者文件类型不符合要求时,此处返回false
  7. console.info(`Succeeded in obtaining the result of whether it can be previewed. result = ${result}`);
  8. }).catch((err: BusinessError) => {
  9. console.error(`Failed to obtain the result of whether it can be previewed, err.code = ${err.code}, err.message = ${err.message}`);
  10. });

canPreview

canPreview(context: Context, uri: string, callback: AsyncCallback<boolean>): void

根据文件的uri判断文件是否可预览,当传入支持的文件uri或文件夹uri时,会返回true;传入不可预览的文件uri时,返回false。使用Callback回调异步返回结果。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

uri

string

文件uri

callback

AsyncCallback<boolean>

回调函数。当传入支持的文件uri或文件夹uri时,会返回true;传入不可预览的文件uri或不存在的文件夹uri时,返回false。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:
收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';
  2. // e.g 文件存在且类型符合或文件夹时,该uri仅为参考,需要根据实际业务传入真实uri
  3. let uri = 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt';
  4. let uiContext = getContext(this);
  5. filePreview.canPreview(uiContext, uri, (err, result) => {
  6. if (err && err.code) {
  7. console.error(`Failed to obtain the result of whether it can be previewed, err.code = ${err.code}, err.message = ${err.message}`);
  8. return;
  9. }
  10. console.info(`Succeeded in obtaining the result of whether it can be previewed. result = ${result}`); // 文件存在且类型符合时,此处返回true
  11. });
收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';
  2. // e.g 文件不存在或文件类型不符合时,该uri仅为参考,需要根据实际业务传入uri
  3. let uri = 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/9.txt';
  4. let uiContext = getContext(this);
  5. filePreview.canPreview(uiContext, uri, (err, result) => {
  6. if (err && err.code) {
  7. console.error(`Failed to obtain the result of whether it can be previewed, err.code = ${err.code}, err.message = ${err.message}`);
  8. return;
  9. }
  10. console.info(`Succeeded in obtaining the result of whether it can be previewed. result = ${result}`); // 文件不存在或者类型不符合时,此处返回false
  11. });

hasDisplayed

hasDisplayed(context: Context): Promise<boolean>

判断预览窗口是否已经存在。预览窗口是单例的形式,如果预览窗口已经打开过并且没关闭,那会返回true。如果没打开或者打开后已关闭,那将返回false。使用Promise方式异步返回结果。判断是否已打开预览需要等待窗口创建完成才能产生效果,窗口还没创建完成就调用hasDisplayed接口会导致结果返回false。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

返回值:

展开

类型

说明

Promise<boolean>

Promise对象,预览窗口是单例的形式,当预览窗口已经打开过并且没关闭,那会返回true。如果没打开或者打开后已关闭,那将返回false。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. // e.g 预览窗口已存在
  4. let uiContext = getContext(this);
  5. filePreview.hasDisplayed(uiContext).then((result) => { // 此处返回true
  6. console.info(`Succeeded in obtaining the result of whether the preview has displayed. result = ${result}`);
  7. }).catch((err: BusinessError) => {
  8. console.error(`Failed to obtain the result of whether the preview has displayed, err.code = ${err.code}, err.message = ${err.message}`);
  9. });
收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. // e.g 预览窗口不存在
  4. let uiContext = getContext(this);
  5. filePreview.hasDisplayed(uiContext).then((result) => { // 此处返回false
  6. console.info(`Succeeded in obtaining the result of whether the preview has displayed. result = ${result}`);
  7. }).catch((err: BusinessError) => {
  8. console.error(`Failed to obtain the result of whether the preview has displayed, err.code = ${err.code}, err.message = ${err.message}`);
  9. });

hasDisplayed

hasDisplayed(context: Context, callback: AsyncCallback<boolean>): void

判断预览窗口是否已经存在。预览窗口是单例的形式,如果预览窗口已经打开过并且没关闭,那会返回true。如果没打开或者打开后已关闭,那将返回false。使用Callback回调异步返回结果。判断是否已打开预览需要等待窗口创建完成才能产生效果,窗口还没创建完成就调用hasDisplayed接口会导致结果返回false。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

callback

AsyncCallback<boolean>

回调函数。预览窗口是单例的形式,当预览窗口已经打开过并且没关闭,那会返回true。如果没打开或者打开后已关闭,那将返回false。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:

收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';
  2. // e.g 预览窗口已存在
  3. let uiContext = getContext(this);
  4. filePreview.hasDisplayed(uiContext, (err, result) => {
  5. if (err && err.code) {
  6. console.error(`Failed to obtain the result of whether the preview has displayed, err.code = ${err.code}, err.message = ${err.message}`);
  7. return;
  8. }
  9. console.info(`Succeeded in obtaining the result of whether the preview has displayed. result = ${result}`); // 此处返回true
  10. });
收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';
  2. // e.g 预览窗口不存在
  3. let uiContext = getContext(this);
  4. filePreview.hasDisplayed(uiContext, (err, result) => {
  5. if (err && err.code) {
  6. console.error(`Failed to obtain the result of whether the preview has displayed, err.code = ${err.code}, err.message = ${err.message}`);
  7. return;
  8. }
  9. console.info(`Succeeded in obtaining the result of whether the preview has displayed. result = ${result}`); // 此处返回false
  10. });

closePreview

closePreview(context: Context): Promise<void>

关闭预览窗口,仅当预览窗口存在时起效。使用Promise方式异步返回结果。关闭预览窗口需要等待窗口创建完成才能产生效果,窗口还没创建完成就调用closePreview接口会无效。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

返回值:

展开

类型

说明

Promise<void>

无返回结果的Promise对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:
收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. let uiContext = getContext(this);
  4. filePreview.closePreview(uiContext).then(() => { // 仅当预览窗口存在时起效
  5. console.info('Succeeded in closing preview');
  6. }).catch((err: BusinessError) => {
  7. console.error(`Failed to close preview, err.code = ${err.code}, err.message = ${err.message}`);
  8. });

closePreview

closePreview(context: Context, callback: AsyncCallback<void>): void

关闭预览窗口,仅当预览窗口存在时起效。使用Callback回调异步返回结果。关闭预览窗口需要等待窗口创建完成才能产生效果,窗口还没创建完成就调用closePreview接口会无效。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

callback

AsyncCallback<void>

回调函数。当预览窗口成功关闭时,err为undefined或err.code为0,否则为错误对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:
收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';
  2. let uiContext = getContext(this);
  3. filePreview.closePreview(uiContext, (err) => { // 仅当预览窗口存在时起效
  4. if (err && err.code) {
  5. console.error(`Failed to close preview, err.code = ${err.code}, err.message = ${err.message}`);
  6. return;
  7. }
  8. console.info('Succeeded in closing preview');
  9. });

loadData

loadData(context: Context, file: PreviewInfo): Promise<void>

加载预览文件信息。仅当预览窗口存在时起效。传入可预览文件以及文件夹时展示对应预览界面,传入不可预览文件显示不支持预览界面。100毫秒内重复调用无效。使用Promise方式异步返回结果。加载预览文件需要等待窗口创建完成才能产生效果,窗口还没创建完成就调用loadData接口会无效。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

file

PreviewInfo

文件的预览信息,title为可选,不填会通过uri解析,无法解析则显示未知文件。

返回值:

展开

类型

说明

Promise<void>

无返回结果的Promise对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. let uiContext = getContext(this);
  4. let fileInfo: filePreview.PreviewInfo = {
  5. title: '1.txt',
  6. // 该uri仅为参考,需要根据实际业务传入真实uri
  7. uri: 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt',
  8. mimeType: 'text/plain'
  9. };
  10. filePreview.loadData(uiContext, fileInfo).then(() => { // 仅当预览窗口存在时起效
  11. console.info('Succeeded in loading data.');
  12. }).catch((err: BusinessError) => {
  13. console.error(`Failed to load data, err.code = ${err.code}, err.message = ${err.message}`);
  14. });

loadData

loadData(context: Context, file: PreviewInfo, callback: AsyncCallback<void>): void

加载预览文件信息。仅当预览窗口存在时起效。传入可预览文件以及文件夹时展示对应预览界面,传入不可预览文件显示不支持预览界面。100毫秒内重复调用无效。使用Callback回调异步返回结果。加载预览文件需要等待窗口创建完成才能产生效果,窗口还没创建完成就调用loadData接口会无效。

元服务API:从版本4.1.0(11)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:4.1.0(11)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

file

PreviewInfo

文件的预览信息,title为可选,不填会通过uri解析,无法解析则显示未知文件。

callback

AsyncCallback<void>

回调函数。当预览文件加载成功时,err为undefined或err.code为0,否则为错误对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

示例:
收起
自动换行
深色代码主题
复制
  1. import { filePreview } from '@kit.PreviewKit';
  2. let uiContext = getContext(this);
  3. let fileInfo: filePreview.PreviewInfo = {
  4. title: '1.txt',
  5. // 该uri仅为参考,需要根据实际业务传入真实uri
  6. uri: 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt',
  7. mimeType: 'text/plain'
  8. };
  9. filePreview.loadData(uiContext, fileInfo, (err) => { // 仅当预览窗口存在时起效
  10. if (err && err.code) {
  11. console.error(`Failed to load data, err.code = ${err.code}, err.message = ${err.message}`);
  12. return;
  13. }
  14. console.info('Succeeded in loading data.');
  15. });

loadData

loadData(context: Context, files: Array<PreviewInfo>, index?: number): Promise<void>

加载预览文件信息。仅当预览窗口存在时起效。可传入多个文件预览信息以及对应展示的列表下标进行选择预览。使用Promise方式异步返回结果。

加载预览文件需要等待窗口创建完成才能产生效果,窗口还没创建完成就调用loadData接口会无效。该接口在2in1端无效。100毫秒内重复调用无效。

元服务API:从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力: SystemCapability.FileManagement.FilePreview.Core

起始版本:5.0.0(12)

参数:

展开

参数名

类型

必填

说明

context

Context

上下文common.UIAbilityContext

注意

当前context仅支持传入UIAbilityContext。

files

Array<PreviewInfo>

文件预览信息列表。

index

number

预览窗口打开时展示的文件预览信息下标,不填默认为0。取值范围大于等于0,小于files长度。

返回值:

展开

类型

说明

Promise<void>

无返回结果的Promise对象。

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

展开

错误码ID

错误信息

401

Invalid input parameter.

801

Capability not supported.

示例:

收起
自动换行
深色代码主题
复制
  1. import { BusinessError } from '@kit.BasicServicesKit';
  2. import { filePreview } from '@kit.PreviewKit';
  3. let uiContext = getContext(this);
  4. let fileInfo: filePreview.PreviewInfo = {
  5. title: '1.txt',
  6. // 该uri仅为参考,需要根据实际业务传入真实uri
  7. uri: 'file://com.example.myapplication/data/storage/el2/base/haps/entry/files/1.txt',
  8. mimeType: 'text/plain'
  9. };
  10. let files: Array<filePreview.PreviewInfo> = new Array();
  11. files.push(fileInfo);
  12. filePreview.loadData(uiContext, files, 0).then(() => { // 仅当预览窗口存在时起效
  13. console.info('Succeeded in loading data.');
  14. }).catch((err: BusinessError) => {
  15. console.error(`Failed to load data, err.code = ${err.code}, err.message = ${err.message}`);
  16. });

在 API参考 中进行搜索
请输入您想要搜索的关键词