storage package

Firebase 云存储

功能

功能描述
函数(应用程序,...)
getStorage(应用程序,bucketUrl)获取给定 Firebase 应用的FirebaseStorage实例。
功能(存储,...)
connectStorageEmulator(存储、主机、端口、选项)修改此FirebaseStorage实例以与 Cloud Storage 模拟器进行通信。
参考(存储,网址)返回给定 url 的StorageReference
函数(参考,...)
删除对象(参考)删除此位置的对象。
getBlob(ref, maxDownloadSizeBytes)下载对象位置处的数据。如果未找到该对象,则返回错误。要使用此功能,您必须将应用的来源列入 Cloud Storage 存储桶中的白名单。另请参阅 https://cloud.google.com/storage/docs/configuring-cors该 API 在 Node.js 中不可用。
getBytes(参考, maxDownloadSizeBytes)下载对象位置处的数据。如果未找到该对象,则返回错误。要使用此功能,您必须将应用的来源列入 Cloud Storage 存储桶中的白名单。另请参阅 https://cloud.google.com/storage/docs/configuring-cors
获取下载网址(参考)返回给定StorageReference的下载 URL
获取元数据(参考)使用该对象的元数据解析的Promise 。如果该对象不存在或无法检索元数据,则承诺将被拒绝。
getStream(参考, maxDownloadSizeBytes)下载对象位置处的数据。如果未找到对象,则引发错误事件。该 API 仅在 Node.js 中可用。
列表(参考,选项)列出此存储引用下的项目(文件)和前缀(文件夹)。列表 API 仅适用于 Firebase 规则版本 2。 GCS 是一个 key-blob 存储。 Firebase 存储强制采用“/”分隔文件夹结构的语义。如果您想了解更多信息,请参阅 GCS 的列表 API。为了遵守 Firebase 规则的语义,Firebase 存储不支持路径以“/”结尾或包含两个连续“/”的对象。 Firebase存储列表API将过滤这些不支持的对象。如果存储桶中有太多不支持的对象,list() 可能会失败。
全部列出(参考)列出此存储引用下的所有项目(文件)和前缀(文件夹)。这是一个辅助方法,用于重复调用 list() 直到没有更多结果。默认分页大小为 1000。注意:如果在此操作运行时更改对象,结果可能会不一致。警告:如果结果太多, listAll可能会消耗太多资源。
更新元数据(参考,元数据)更新该对象的元数据。
uploadBytes(参考、数据、元数据)将数据上传到该对象的位置。上传不可恢复。
uploadBytesResumable(参考、数据、元数据)将数据上传到该对象的位置。上传可以暂停和恢复,并公开进度更新。
uploadString(参考、值、格式、元数据)将字符串上传到该对象的位置。上传不可恢复。
函数(存储或引用,...)
ref(存储或引用,路径)返回默认存储桶中给定路径的StorageReference

课程

班级描述
存储错误Firebase 存储 SDK 返回的错误。

枚举

枚举描述
存储错误代码可以附加到StorageError对象的错误代码。

接口

界面描述
Firebase存储Firebase 存储实例。
完整元数据完整的对象元数据集,包括只读属性。
列表选项选项list()接受。
列表结果list() 返回的结果。
可设置元数据可以随时设置的对象元数据。
存储观察者Firebase 存储的流观察器。
存储参考表示对 Google Cloud Storage 对象的引用。开发人员可以上传、下载和删除对象,以及获取/设置对象元数据。
上传元数据可以在上传时设置的对象元数据。
上传结果不可断点上传返回的结果。
上传任务表示上传对象的过程。允许您监控和管理上传。
上传任务快照保存有关上传任务当前状态的数据。

变量

多变的描述
字符串格式用于上传的可能字符串格式的枚举。

类型别名

类型别名描述
字符串格式用于上传的可能字符串格式的枚举。
任务事件在任务上触发的事件。
任务状态表示正在运行的上传的当前状态。

函数(应用程序,...)

getStorage(应用程序,bucketUrl)

获取给定 Firebase 应用的FirebaseStorage实例。

签名:

export declare function getStorage(app?: FirebaseApp, bucketUrl?: string): FirebaseStorage;

参数

范围类型描述
应用程序Firebase应用程序用于获取FirebaseStorage实例的 Firebase 应用。
桶地址细绳您的 Firebase 存储桶的 gs:// url。如果未通过,则使用应用程序的默认存储桶。

返回:

Firebase存储

FirebaseStorage实例。

功能(存储,...)

connectStorageEmulator(存储、主机、端口、选项)

修改此FirebaseStorage实例以与 Cloud Storage 模拟器进行通信。

签名:

export declare function connectStorageEmulator(storage: FirebaseStorage, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

参数

范围类型描述
贮存Firebase存储FirebaseStorage实例
主持人细绳模拟器主机(例如:localhost)
港口数字模拟器端口(例如:5001)
选项{mockUserToken?: EmulatorMockTokenOptions |细绳; }模拟器选项。 options.mockUserToken是用于单元测试安全规则的模拟身份验证令牌。

返回:

空白

参考(存储,网址)

返回给定 url 的StorageReference

签名:

export declare function ref(storage: FirebaseStorage, url?: string): StorageReference;

参数

范围类型描述
贮存Firebase存储FirebaseStorage实例。
网址细绳网址。如果为空,则返回根引用。

返回:

存储参考

函数(参考,...)

删除对象(参考)

删除此位置的对象。

签名:

export declare function deleteObject(ref: StorageReference): Promise<void>;

参数

范围类型描述
参考存储参考要删除的对象的StorageReference

返回:

承诺<无效>

如果删除成功则解决的Promise

getBlob(ref, maxDownloadSizeBytes)

下载对象位置处的数据。如果未找到该对象,则返回错误。

要使用此功能,您必须将应用的来源列入 Cloud Storage 存储桶中的白名单。另请参阅 https://cloud.google.com/storage/docs/configuring-cors

该 API 在 Node.js 中不可用。

签名:

export declare function getBlob(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<Blob>;

参数

范围类型描述
参考存储参考应下载数据的存储参考。
最大下载大小字节数字如果设置,则表示要检索的最大允许大小(以字节为单位)。

返回:

承诺<Blob>

使用包含对象字节的 Blob 解析的 Promise

getBytes(参考, maxDownloadSizeBytes)

下载对象位置处的数据。如果未找到该对象,则返回错误。

要使用此功能,您必须将应用的来源列入 Cloud Storage 存储桶中的白名单。另请参阅 https://cloud.google.com/storage/docs/configuring-cors

签名:

export declare function getBytes(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<ArrayBuffer>;

参数

范围类型描述
参考存储参考应下载数据的存储参考。
最大下载大小字节数字如果设置,则表示要检索的最大允许大小(以字节为单位)。

返回:

Promise<ArrayBuffer>

包含对象字节的 Promise

获取下载网址(参考)

返回给定StorageReference的下载 URL

签名:

export declare function getDownloadURL(ref: StorageReference): Promise<string>;

参数

范围类型描述
参考存储参考用于获取下载 URL 的StorageReference

返回:

承诺<字符串>

一个Promise ,解析为该对象的下载 URL。

获取元数据(参考)

使用该对象的元数据解析的Promise 。如果该对象不存在或无法检索元数据,则承诺将被拒绝。

签名:

export declare function getMetadata(ref: StorageReference): Promise<FullMetadata>;

参数

范围类型描述
参考存储参考从中获取元数据的StorageReference

返回:

Promise<完整元数据>

getStream(参考, maxDownloadSizeBytes)

下载对象位置处的数据。如果未找到对象,则引发错误事件。

该 API 仅在 Node.js 中可用。

签名:

export declare function getStream(ref: StorageReference, maxDownloadSizeBytes?: number): NodeJS.ReadableStream;

参数

范围类型描述
参考存储参考应下载数据的存储参考。
最大下载大小字节数字如果设置,则表示要检索的最大允许大小(以字节为单位)。

返回:

NodeJS.ReadableStream

对象数据为字节的流

列表(参考,选项)

列出此存储引用下的项目(文件)和前缀(文件夹)。

列表 API 仅适用于 Firebase 规则版本 2。

GCS 是一个 key-blob 存储。 Firebase 存储强制采用“/”分隔文件夹结构的语义。如果您想了解更多信息,请参阅 GCS 的列表 API。

为了遵守 Firebase 规则的语义,Firebase 存储不支持路径以“/”结尾或包含两个连续“/”的对象。 Firebase存储列表API将过滤这些不支持的对象。如果存储桶中有太多不支持的对象,list() 可能会失败。

签名:

export declare function list(ref: StorageReference, options?: ListOptions): Promise<ListResult>;

参数

范围类型描述
参考存储参考要从中获取列表的StorageReference
选项列表选项有关详细信息,请参阅列表选项

返回:

Promise<列表结果>

使用项目和前缀解析的Promiseprefixes包含对此子文件夹的引用, items包含对此文件夹中对象的引用。 nextPageToken可用于获取其余结果。

全部列出(参考)

列出此存储引用下的所有项目(文件)和前缀(文件夹)。

这是一个辅助方法,用于重复调用 list() 直到没有更多结果。默认分页大小为 1000。

签名:

export declare function listAll(ref: StorageReference): Promise<ListResult>;

参数

范围类型描述
参考存储参考要从中获取列表的StorageReference

返回:

Promise<列表结果>

一个Promise ,解析当前存储引用下的所有项目和前缀。 prefixes包含对此子目录的引用, items包含对此文件夹中对象的引用。 nextPageToken永远不会返回。

更新元数据(参考,元数据)

更新该对象的元数据。

签名:

export declare function updateMetadata(ref: StorageReference, metadata: SettableMetadata): Promise<FullMetadata>;

参数

范围类型描述
参考存储参考用于更新元数据的StorageReference
元数据可设置元数据对象的新元数据。只有明确设置的值才会更改。显式将值设置为 null 将删除元数据。

返回:

Promise<完整元数据>

使用该对象的新元数据解析的Promise

uploadBytes(参考、数据、元数据)

将数据上传到该对象的位置。上传不可恢复。

签名:

export declare function uploadBytes(ref: StorageReference, data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata): Promise<UploadResult>;

参数

范围类型描述
参考存储参考StorageReference应上传数据的位置。
数据斑点| Uint8Array |数组缓冲区要上传的数据。
元数据上传元数据要上传的数据的元数据。

返回:

Promise<上传结果>

包含 UploadResult 的 Promise

uploadBytesResumable(参考、数据、元数据)

将数据上传到该对象的位置。上传可以暂停和恢复,并公开进度更新。

签名:

export declare function uploadBytesResumable(ref: StorageReference, data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata): UploadTask;

参数

范围类型描述
参考存储参考StorageReference应上传数据的位置。
数据斑点| Uint8Array |数组缓冲区要上传的数据。
元数据上传元数据要上传的数据的元数据。

返回:

上传任务

上传任务

uploadString(参考、值、格式、元数据)

将字符串上传到该对象的位置。上传不可恢复。

签名:

export declare function uploadString(ref: StorageReference, value: string, format?: StringFormat, metadata?: UploadMetadata): Promise<UploadResult>;

参数

范围类型描述
参考存储参考应上传字符串的StorageReference
价值细绳要上传的字符串。
格式字符串格式要上传的字符串的格式。
元数据上传元数据要上传的字符串的元数据。

返回:

Promise<上传结果>

包含 UploadResult 的 Promise

函数(存储或引用,...)

ref(存储或引用,路径)

返回默认存储桶中给定路径的StorageReference

签名:

export declare function ref(storageOrRef: FirebaseStorage | StorageReference, path?: string): StorageReference;

参数

范围类型描述
存储或引用Firebase 存储|存储参考FirebaseStorageStorageReference
小路细绳

返回:

存储参考

字符串格式

用于上传的可能字符串格式的枚举。

签名:

StringFormat: {
    readonly RAW: "raw";
    readonly BASE64: "base64";
    readonly BASE64URL: "base64url";
    readonly DATA_URL: "data_url";
}

字符串格式

用于上传的可能字符串格式的枚举。

签名:

export declare type StringFormat = (typeof StringFormat)[keyof typeof StringFormat];

任务事件

在任务上触发的事件。

签名:

export declare type TaskEvent = 'state_changed';

任务状态

表示正在运行的上传的当前状态。

签名:

export declare type TaskState = 'running' | 'paused' | 'success' | 'canceled' | 'error';

存储错误代码

可以附加到StorageError对象的错误代码。

签名:

export declare enum StorageErrorCode 

枚举成员

成员价值描述
APP_已删除"app-deleted"
BUCKET_NOT_FOUND "bucket-not-found"
取消"canceled"
不能_切片_BLOB "cannot-slice-blob"
内部错误"internal-error"
无效的论点"invalid-argument"
INVALID_ARGUMENT_COUNT 个"invalid-argument-count"
无效_校验和"invalid-checksum"
INVALID_DEFAULT_BUCKET "invalid-default-bucket"
INVALID_EVENT_NAME "invalid-event-name"
无效的格式"invalid-format"
INVALID_ROOT_OPERATION "invalid-root-operation"
无效的网址"invalid-url"
NO_DEFAULT_BUCKET "no-default-bucket"
NO_DOWNLOAD_URL "no-download-url"
OBJECT_NOT_FOUND "object-not-found"
PROJECT_NOT_FOUND "project-not-found"
超出配额"quota-exceeded"
重试限制超出"retry-limit-exceeded"
服务器文件错误大小"server-file-wrong-size"
未经验证"unauthenticated"
未经授权"unauthorized"
未授权_APP "unauthorized-app"
未知"unknown"
不支持的环境"unsupported-environment"