开始入门
复制一个设置提示,包含安装步骤和该插件的完整 Markdown 指南。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-firebase-storage`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/firebase-storage/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
安装
标题为“安装”bun add @capgo/capacitor-firebase-storagebunx cap sync导入
导入import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';API概述
API概述deleteFile
删除文件删除文件。复制到剪贴板
import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';
await FirebaseStorage.deleteFile({} as DeleteFileOptions);getDownloadUrl
获取文件下载链接复制到剪贴板
import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';
await FirebaseStorage.getDownloadUrl({} as GetDownloadUrlOptions);getMetadata
获取文件元数据复制到剪贴板
import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';
await FirebaseStorage.getMetadata({} as GetMetadataOptions);listFiles
名为“listFiles”的部分在目录中列出文件。
import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';
await FirebaseStorage.listFiles({} as ListFilesOptions);updateMetadata
名为“updateMetadata”的部分更新文件的元数据。
import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';
await FirebaseStorage.updateMetadata({} as UpdateMetadataOptions);uploadFile
名为“uploadFile”的部分上传文件。
import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';
await FirebaseStorage.uploadFile({} as UploadFileOptions, {} as UploadFileCallback);useEmulator
名为“useEmulator”的部分将应用程序配置为与 Cloud Storage 模拟器通信。
在 Android 上,必须允许清文本流量。 在 Capacitor 配置中:
{ server: { cleartext: true }}不建议在生产环境中使用清文本流量。
import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';
await FirebaseStorage.useEmulator({} as UseEmulatorOptions);类型参考
类型参考DeleteFileOptions
类型参考export interface DeleteFileOptions { /** * The full path to the file to delete, including the file name. * * @since 5.3.0 * @example 'mountains.png' * @example 'images/mountains.png' */ path: string;}GetDownloadUrlOptions
复制到剪贴板export interface GetDownloadUrlOptions { /** * The full path to the file to get the download url for, including the file name. * * @since 5.3.0 * @example 'mountains.png' * @example 'images/mountains.png' */ path: string;}GetDownloadUrlResult
复制到剪贴板export interface GetDownloadUrlResult { /** * The download url for the file. * * @since 5.3.0 */ downloadUrl: string;}GetMetadataOptions
《GetMetadataOptions》export interface GetMetadataOptions { /** * The full path to the file to get the metadata for, including the file name. * * @since 5.3.0 * @example 'mountains.png' * @example 'images/mountains.png' */ path: string;}GetMetadataResult
《GetMetadataResult》export interface GetMetadataResult { /** * The bucket this file is contained in. * * @since 5.3.0 */ bucket: string; /** * The timestamp at which the file was created in milliseconds since the epoch. * * @since 5.3.0 * @example 1697304435933 */ createdAt?: number; /** * The object's generation. * * @since 5.3.0 * @see https://cloud.google.com/storage/docs/metadata#generation-number */ generation: string; /** * The md5 hash of the file. * * @since 5.3.0 */ md5Hash?: string; /** * The object's metadata generation. * * @since 5.3.0 * @see https://cloud.google.com/storage/docs/metadata#generation-number */ metadataGeneration: string; /** * The short name of this file, which is the last component of the full path. * * @since 5.3.0 * @example 'mountains.png' */ name?: string; /** * The full path to the file, including the file name. * * @since 5.3.0 * @example 'images/mountains.png' */ path?: string; /** * The size of the file in bytes. * * @since 5.3.0 */ size: number; /** * The timestamp at which the file was last updated in milliseconds since the epoch. * * @since 5.3.0 * @example 1697304435933 */ updatedAt: number; /** * Served as the `Cache-Control` header on object download. * * @since 6.1.0 */ cacheControl?: string; /** * Served as the `Content-Disposition` header on object download. * * @since 6.1.0 */ contentDisposition?: string; /** * Served as the `Content-Encoding` header on object download. * * @since 6.1.0 */ contentEncoding?: string; /** * Served as the `Content-Language` header on object download. * * @since 6.1.0 */ contentLanguage?: string; /** * Served as the `Content-Type` header on object download. * * @since 6.1.0 */ contentType?: string; /** * Additional user-defined custom metadata. * * @since 6.1.0 */ customMetadata?: { [key: string]: string };}ListFilesOptions
《ListFilesOptions》export interface ListFilesOptions { /** * The full path to the directory to list files for. * * @since 5.3.0 */ path: string; /** * The maximum number of results to return. * * @since 5.3.0 * @default 1000 */ maxResults?: number; /** * The page token, returned by a previous call to this method. * If provided, listing is resumed from the previous position. * * @since 5.3.0 */ pageToken?: string;}ListFilesResult
《ListFilesResult》export interface ListFilesResult { /** * The list of files in the directory. * * @since 5.3.0 */ items: StorageReference[]; /** * If set, there might be more results for this list. * Use this token to resume the list. * * @since 5.3.0 */ nextPageToken?: string;}UpdateMetadataOptions
《UpdateMetadataOptions》export interface UpdateMetadataOptions { /** * The full path to the file to update the metadata for, including the file name. * * @since 5.3.0 */ path: string; /** * The metadata to update. * * @since 5.3.0 */ metadata: SettableMetadata;}UploadFileOptions
《UploadFileOptions》export interface UploadFileOptions { /** * The data to upload. * * Only available for Web. * * @since 5.3.0 */ blob?: Blob; /** * The full path where data should be uploaded, including the file name. * * @since 5.3.0 * @example 'mountains.png' * @example 'images/mountains.png' */ path: string; /** * The uri to the file to upload. * * Only available for Android and iOS. * * @since 5.3.0 * @example 'content://com.google.android.apps.photos.contentprovider/-1/1/content://media/external/images/media/1000000214/ORIGINAL/NONE/image/.png/mountains' * @example 'file:///var/mobile/Containers/Data/Application/E397A70D-67E4-4258-236E-W1D9E12111D4/Library/Caches/092F8464-DE60-40B3-8A23-EB83160D9F9F/mountains.png' */ uri?: string; /** * The metadata to set for the file. * * @since 5.4.0 */ metadata?: UploadMetadata;}UploadFileCallback
上传文件回调export type UploadFileCallback = (event: UploadFileCallbackEvent | null, error: any) => void;CallbackId
回调 IDexport type CallbackId = string;UseEmulatorOptions
使用模拟器选项export interface UseEmulatorOptions { /** * The emulator host without any port or scheme. * * Note when using a Android Emulator device: 10.0.2.2 is the special IP address to connect to the 'localhost' of the host computer. * * @since 6.1.0 * @example "127.0.0.1" */ host: string; /** * The emulator port. * * @since 6.1.0 * @default 9199 * @example 9199 */ port?: number;}真实数据来源
真实数据来源本页面由插件生成 src/definitions.ts当公共API在上游发生变化时,请重新同步。
继续从开始
继续从开始If you are using 开始使用 to plan storage and file handling, connect it with @capgo/capacitor-data-storage-sqlite @capgo/capacitor-data-storage-sqlite @capgo/capacitor-data-storage-sqlite for the implementation detail in @capgo/capacitor-data-storage-sqlite, @capgo/capacitor-data-storage-sqlite中的具体实现细节 Using @capgo/capacitor-data-storage-sqlite 使用@capgo/capacitor-data-storage-sqlite for the native capability in Using @capgo/capacitor-data-storage-sqlite, 在使用@capgo/capacitor-data-storage-sqlite的原生能力中,使用@capgo/capacitor-data-storage-sqlite, 关于@capgo/capacitor-uploader的实现细节。