StorageReference

Struct StorageReference 

Source
pub struct StorageReference { /* private fields */ }

Implementations§

Source§

impl StorageReference

Source

pub fn storage(&self) -> FirebaseStorageImpl

Source

pub fn location(&self) -> &Location

Source

pub fn to_gs_url(&self) -> String

Source

pub fn root(&self) -> StorageReference

Source

pub fn bucket(&self) -> &str

Source

pub fn full_path(&self) -> &str

Source

pub fn name(&self) -> String

Source

pub fn parent(&self) -> Option<StorageReference>

Source

pub fn child(&self, segment: &str) -> StorageReference

Source

pub fn get_metadata(&self) -> StorageResult<ObjectMetadata>

Retrieves object metadata from Cloud Storage for this reference.

§Errors

Returns StorageError with code storage/invalid-root-operation if the reference points to the bucket root.

Source

pub fn list(&self, options: Option<ListOptions>) -> StorageResult<ListResult>

Lists objects and prefixes immediately under this reference.

Source

pub fn list_all(&self) -> StorageResult<ListResult>

Recursively lists all objects beneath this reference.

This mirrors the Firebase Web SDK listAll helper and repeatedly calls list until the backend stops returning a nextPageToken.

Source

pub fn update_metadata( &self, metadata: SettableMetadata, ) -> StorageResult<ObjectMetadata>

Updates mutable metadata fields for this object.

§Errors

Returns storage/invalid-root-operation when invoked on the bucket root.

Source

pub fn get_bytes( &self, max_download_size_bytes: Option<u64>, ) -> StorageResult<Vec<u8>>

Downloads the referenced object into memory as a byte vector.

The optional max_download_size_bytes mirrors the Web SDK behaviour: when supplied the backend is asked for at most that many bytes and the response is truncated if the server ignores the range header.

Source

pub fn get_download_url(&self) -> StorageResult<String>

Returns a signed download URL for the object.

Source

pub fn delete_object(&self) -> StorageResult<()>

Permanently deletes the object referenced by this path.

Source

pub fn upload_bytes( &self, data: impl Into<Vec<u8>>, metadata: Option<UploadMetadata>, ) -> StorageResult<ObjectMetadata>

Uploads a small blob in a single multipart request.

§Examples

let options = FirebaseOptions {
    storage_bucket: Some("my-bucket".into()),
    ..Default::default()
};
let app = initialize_app(options, Some(FirebaseAppSettings::default())).unwrap();
let storage = get_storage_for_app(Some(app), None).unwrap();
let avatar = storage.root_reference().unwrap().child("avatars/user.png");
avatar.upload_bytes(vec![0_u8; 1024], None).unwrap();
Source

pub fn upload_bytes_resumable( &self, data: Vec<u8>, metadata: Option<UploadMetadata>, ) -> StorageResult<UploadTask>

Creates a resumable upload task that can be advanced chunk by chunk or run to completion.

Resumable uploads stream data in 256 KiB chunks by default, doubling up to 32 MiB to match the behaviour of the Firebase Web SDK. The returned crate::storage::upload::UploadTask exposes helpers to poll chunk progress or upload the entire file with a single call.

Trait Implementations§

Source§

impl Clone for StorageReference

Source§

fn clone(&self) -> StorageReference

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,