指南
如何在 Capacitor 中使用 File Picker
使用 @capgo/capacitor-file-picker
Capacitor File Picker 插件接口,用于选择文件、图片、视频和目录。
安装
bun add @capgo/capacitor-file-picker
bunx cap sync
bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。
导入
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
API 概览
| 方法 | 描述 |
|---|---|
pickFiles |
从设备中选择一个或多个文件。 |
pickImages |
从相册中选择一张或多张图片。仅限 Android/iOS。 |
pickVideos |
从相册中选择一个或多个视频。仅限 Android/iOS。 |
pickMedia |
从相册中选择一张或多张图片或视频。仅限 Android/iOS。 |
pickDirectory |
从设备中选择一个目录。仅限 Android/iOS。 |
convertHeicToJpeg |
将 HEIC 图片转换为 JPEG 格式。仅限 iOS。 |
copyFile |
将文件复制到新位置。 |
checkPermissions |
检查宽泛的存储或媒体权限状态。仅使用选择器的流程不应依赖 pickFiles(), pickImages(), pickVideos(),或 pickMedia() 此权限(Android 13+)。仅限 Android。 |
requestPermissions |
请求宽泛的存储或媒体权限。不要仅为使用选择器 API 而请求或声明 READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO 这些权限。Google Play 仅在选择器替代方案不足以满足核心应用功能时才允许这些权限。请改用 @capgo/capacitor-file-picker 选择器方法访问用户选择的文件、图片或视频。仅限 Android。 |
示例
pickFiles()
从设备中选择一个或多个文件。
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickFiles({
types: ['application/pdf', 'image/*'],
limit: 5,
readData: false
});
console.log('Picked files:', result.files);
pickImages()
从相册中选择一张或多张图片。仅限 Android/iOS。
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickImages({
limit: 10,
readData: false
});
console.log('Picked images:', result.files);
pickVideos()
从相册中选择一个或多个视频。仅限 Android/iOS。
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickVideos({
limit: 3,
skipTranscoding: true
});
console.log('Picked videos:', result.files);
pickMedia()
从相册中选择一张或多张图片或视频。仅限 Android/iOS。
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickMedia({
limit: 5,
readData: true
});
console.log('Picked media:', result.files);
pickDirectory()
从设备中选择一个目录。仅限 Android/iOS。
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickDirectory();
console.log('Selected directory:', result.path);
convertHeicToJpeg()
将 HEIC 图片转换为 JPEG 格式。仅限 iOS。
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.convertHeicToJpeg({
path: '/path/to/image.heic',
quality: 0.9
});
console.log('Converted file:', result.path);
上表列出了 9 个核心方法。监听器、版本辅助函数以及每个方法的完整规范,请参阅 GitHub 仓库.
监听事件
addListener 会返回一个句柄。调用 handle.remove() 在屏幕卸载时,或者调用 CapgoFilePicker.removeAllListeners() 以清除所有监听器。
完整参考文档
继续阅读“使用 @capgo/capacitor-file-picker”
如果你正在使用 使用 @capgo/capacitor-file-picker 要规划存储和文件处理,请将其与 @capgo/capacitor-file-picker 了解 @capgo/capacitor-file-picker 中的实现细节, 快速入门 有关“入门指南”中的实现细节, @capgo/capacitor-data-storage-sqlite 关于 @capgo/capacitor-data-storage-sqlite 中的实现细节, 使用 @capgo/capacitor-data-storage-sqlite 关于使用 @capgo/capacitor-data-storage-sqlite 的原生能力,以及 @capgo/capacitor-file 关于 @capgo/capacitor-file. 中的实现细节