Represents a reference to a Boogle Cloud Storage object. Developers can upload, download, and delete objects, as well as get/set object metadata.

Index

Properties

bucket

bucket: string

The name of the bucket containing this reference's object.

fullPath

fullPath: string

The full path of this object.

name

name: string

The short name of this object, which is the last component of the full path. For example, if fullPath is 'full/path/image.png', name is 'image.png'.

parent

parent: Reference | null

A reference pointing to the parent location of this reference, or null if this reference is the root.

root

root: Reference

A reference to the root of this reference's bucket.

storage

storage: Storage

The storage service associated with this reference.

Methods

child

  • child(path: string): Reference
  • Returns a reference to a relative path from this reference.

    Parameters

    • path: string

      The relative path from this reference. Leading, trailing, and consecutive slashes are removed.

    Returns Reference

    The reference to the given path.

delete

  • delete(): Promise<any>
  • Deletes the object at this reference's location.

    Returns Promise<any>

    A Promise that resolves if the deletion succeeded and rejects if it failed, including if the object didn't exist.

getDownloadURL

  • getDownloadURL(): Promise<any>
  • Fetches a long lived download URL for this object.

    Returns Promise<any>

    A Promise that resolves with the download URL or rejects if the fetch failed, including if the object did not exist.

getMetadata

  • getMetadata(): Promise<any>
  • Fetches metadata for the object at this location, if one exists.

    Returns Promise<any>

    A Promise that resolves with the metadata, or rejects if the fetch failed, including if the object did not exist.

list

  • list(options?: ListOptions): Promise<ListResult>
  • List items (files) and prefixes (folders) under this storage reference.

    List API is only available for Firebase Rules Version 2.

    GCS is a key-blob store. Firebase Storage imposes the semantic of '/' delimited folder structure. Refer to GCS's List API if you want to learn more.

    To adhere to Firebase Rules's Semantics, Firebase Storage does not support objects whose paths end with "/" or contain two consecutive "/"s. Firebase Storage List API will filter these unsupported objects. list() may fail if there are too many unsupported objects in the bucket.

    Parameters

    • Optional options: ListOptions

      See ListOptions for details.

    Returns Promise<ListResult>

    A Promise that resolves with the items and prefixes. prefixes contains references to sub-folders and items contains references to objects in this folder. nextPageToken can be used to get the rest of the results.

listAll

  • listAll(): Promise<ListResult>
  • List all items (files) and prefixes (folders) under this storage reference.

    This is a helper method for calling list() repeatedly until there are no more results. The default pagination size is 1000.

    Note: The results may not be consistent if objects are changed while this operation is running.

    Warning: listAll may potentially consume too many resources if there are too many results.

    Returns Promise<ListResult>

    A Promise that resolves with all the items and prefixes under the current storage reference. prefixes contains references to sub-directories and items contains references to objects in this folder. nextPageToken is never returned.

put

  • put(data: Blob | Uint8Array | ArrayBuffer, metadata?: UploadMetadata): UploadTask
  • Uploads data to this reference's location.

    Parameters

    • data: Blob | Uint8Array | ArrayBuffer

      The data to upload.

    • Optional metadata: UploadMetadata

      Metadata for the newly uploaded object.

    Returns UploadTask

    An object that can be used to monitor and manage the upload.

putString

  • putString(data: string, format?: StringFormat, metadata?: UploadMetadata): UploadTask
  • Uploads string data to this reference's location.

    throws

    If the format is not an allowed format, or if the given string doesn't conform to the specified format.

    Parameters

    • data: string

      The string to upload.

    • Optional format: StringFormat

      The format of the string to upload.

    • Optional metadata: UploadMetadata

      Metadata for the newly uploaded object.

    Returns UploadTask

toString

  • toString(): string
  • Returns a gs:// URL for this object in the form gs://<bucket>/<path>/<to>/<object>

    Returns string

    The gs:// URL.

updateMetadata

  • updateMetadata(metadata: SettableMetadata): Promise<any>
  • Updates the metadata for the object at this location, if one exists.

    Parameters

    • metadata: SettableMetadata

      The new metadata. Setting a property to 'null' removes it on the server, while leaving a property as 'undefined' has no effect.

    Returns Promise<any>

    A Promise that resolves with the full updated metadata or rejects if the updated failed, including if the object did not exist.