storage library
Cloud Storage: objects as bytes, on the same app as Auth, Database and Firestore.
Downloads arrive as external typed data — the bytes are written once, into the buffer handed to the Dart heap, and never copied. That property is why this module is worth having over a REST call: a Database value is small enough that a copy is free, and an object is not.
Classes
- StorageMetadata
- What the backend knows about a stored object. Fields the backend did not set are null rather than empty: "no content type" and "the content type is the empty string" are different answers.
Properties
- hasStorage → bool
-
True when the library was built with Storage bound.
no setter
Functions
-
deleteObject(
String path) → Future< void> -
Deletes the object at
path. -
downloadUrl(
String path) → Future< String> -
A URL that serves the object at
path, including its access token. -
getObject(
String path) → Future< Uint8List> -
Downloads the object at
path. -
initStorage(
) → void -
Binds Storage to the app already initialized by
initFirebase. -
objectMetadata(
String path) → Future< StorageMetadata> -
The metadata of the object at
path, without downloading it. -
putObject(
String path, Uint8List bytes, {String? contentType}) → Future< StorageMetadata> -
Uploads
bytestopath, answering with the stored object's metadata. -
useStorageEmulator(
String host, int port) → void - Points Storage at a local emulator, after initStorage and before the first operation — the SDK freezes the endpoint once a request has gone out.
Exceptions / Errors
- StorageException
- A Storage operation that failed, carrying the SDK's own code and message.