HarmonyOS 鸿蒙Next是否有文件预览相关的能力或工具包?是否支持在线预览?
HarmonyOS 鸿蒙Next是否有文件预览相关的能力或工具包?是否支持在线预览? 回答请包括能力或开发包关键字,并附上相关文档链接,谢谢!
鸿蒙(HarmonyOS)提供了 Preview Kit(文件预览服务) 作为官方文件预览能力工具包,支持本地及在线文件的预览功能1。以下是关键信息:
- 支持格式:覆盖超过 5 种基本类型(文本、HTML、图片、视频、音频),扩展支持 18 种详细文件格式。
- 关键特性:
- 提供缩放交互、音频/视频全屏播放(背景自适应优化)。
- 支持在线预览(通过
uri参数传入网络文件路径即可)。
- 开发接口:
filePreview.canPreview():检测文件是否可预览。filePreview.openPreview():打开预览界面。
更多关于HarmonyOS 鸿蒙Next是否有文件预览相关的能力或工具包?是否支持在线预览?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
文件预览 Preview Kit
当前 Preview Kit 的文件预览能力采用拉起新窗口的方式来实现,在新的窗口中展示需要预览的文件,并按照统一设计的界面进行展示,如果开发者需要使用 Preview Kit 的文件预览能力,需要注意以下事项:
- 当前 Preview Kit 仅支持跳出应用进行文件的预览,暂不支持应用内预览。
- Office 类型文档预览借助 WPS 提供的能力来实现,在预览文档类型文件时会存在"WPS 提供技术支持"、"使用 WPS Office 打开"等相关字样。
- 当前 Preview Kit 暂不支持安全定制能力,包括禁止截录屏、屏蔽其他应用打开入口、屏蔽分享入口等安全预览能力。
- 当前 Preview Kit 需要调用方存在对应 uri 的转授权能力,从而让预览获得该文件的访问权限来正常读取文件,具体问题可以参考 Preview Kit 常见问题 2。
接口说明
接口返回值有两种返回形式:callback 和 promise,promise 和 callback 只是返回值方式不一样,功能相同。具体 API 说明详见 接口文档。
表 1 Preview Kit 的接口介绍
| 接口名 | 描述 |
|---|---|
| openPreview(context: Context, file: PreviewInfo, info?: DisplayInfo): Promise<void> | 打开预览功能。通过传入单个文件预览信息以及悬浮窗口属性信息,打开预览窗口。1 秒内重复调用无效。使用 Promise 方式异步返回结果。 |
| openPreview(context: Context, file: PreviewInfo, info: DisplayInfo, callback: AsyncCallback<void>): void | 打开预览功能。通过传入单个文件预览信息以及悬浮窗口属性信息,打开预览窗口。1 秒内重复调用无效。传入 callback 进行异步回调。 |
| openPreview(context: Context, files: Array<PreviewInfo>, index?: number): Promise<void> | 打开预览功能。通过传入多个文件预览信息以及选择展示的文件信息下标,打开预览窗口。1 秒内重复调用无效。使用 Promise 方式异步返回结果。仅移动端可用。 |
| canPreview(context: Context, uri: string): Promise<boolean> | 根据文件的 uri 判断文件是否可预览。 - 当传入支持的文件类型(图片、视频、音频、文本、html)并且文件存在时,会返回 true。 - 当传入不可预览的文件 uri 时,返回 false。 |
| hasDisplayed(context: Context): Promise<boolean> | 判断预览窗口是否已经存在。预览窗口是单例的形式。 - 如果预览窗口已经打开过并且没关闭,那会返回 true。 - 如果没打开或者打开后已关闭,那将返回 false。 |
| closePreview(context: Context): Promise<void> | 关闭预览窗口,仅当预览窗口存在时起效。 |
| loadData(context: Context, file: PreviewInfo): Promise<void> | 加载预览文件信息。仅当预览窗口存在时生效。100 毫秒内重复调用无效。 - 传入可预览文件时展示对应预览界面。 - 传入不可预览文件显示不支持预览界面。 |
官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/preview-filepreview
鸿蒙Next提供文件预览能力,通过PreviewKit工具包实现。支持图片、PDF、文本等格式预览,可集成在线预览功能。开发者可通过PreviewPicker组件调用系统预览服务,无需依赖第三方库。
HarmonyOS Next提供了完整的文件预览能力,支持多种格式的在线预览。主要开发包和关键能力如下:
1. FilePicker(文件选择器)
- 支持图片、视频、文档等格式的预览
- 提供统一的文件访问接口
- 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/filepicker-overview-0000001820879721
2. FileIO(文件输入输出)
- 提供文件读写能力
- 支持多种文件格式处理
- 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/fileio-overview-0000001821000025
3. Media Library(媒体库)
- 专门用于媒体文件管理
- 支持图片、视频的预览和编辑
- 文档链接:https://developer.harmonyos.com/cn/docs/documentation/doc-references/medialibrary-overview-0000001821000029
在线预览支持:
- 支持常见文档格式(PDF、Word、Excel等)
- 支持图片格式(JPEG、PNG、GIF等)
- 支持视频格式(MP4、AVI等)
- 可通过Web组件实现网页内容预览
开发者可根据具体需求选择合适的API实现文件预览功能。


