uploadFile method

Future<String> uploadFile({
  1. required String path,
  2. required File file,
  3. SettableMetadata? metadata,
})

Uploads a File to path and returns its public download URL.

Optionally provide metadata (e.g. content type, cache control).

Throws FirebaseException on failure — handle in the provider/caller.

Example:

final url = await BaiomyStorageRepo.instance.uploadFile(
  path: 'users/$uid/avatar.jpg',
  file: File('/local/avatar.jpg'),
  metadata: SettableMetadata(contentType: 'image/jpeg'),
);

Implementation

Future<String> uploadFile({
  required String path,
  required File file,
  SettableMetadata? metadata,
}) async {
  final UploadTask task = _ref(path).putFile(file, metadata);
  final TaskSnapshot snapshot = await task;
  return await snapshot.ref.getDownloadURL();
}