uploadFile method
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();
}