Implemented the [uploadFile] method

This commit is contained in:
Mariano Uvalle 2019-02-27 17:05:38 -06:00
parent 089548b492
commit fe9d73c491

View file

@ -5,18 +5,26 @@ import 'package:firebase_storage/firebase_storage.dart';
import 'package:uuid/uuid.dart';
class FirebaseStorageProvider {
final FirebaseStorage _storage;
final StorageReference _storage;
final Uuid _uuid;
// [FirebaseStorage] and [Uuid] instances can be injected for testing purposes.
// Don't remove.
FirebaseStorageProvider([FirebaseStorage storage, Uuid uuid])
: _storage = storage ?? FirebaseStorage.instance,
FirebaseStorageProvider([StorageReference storage, Uuid uuid])
: _storage = storage ?? FirebaseStorage.instance.ref(),
_uuid = uuid ?? Uuid();
/// Uploads a given file to the firebase storage bucket.
///
/// It returns a [StorageUploadTask] which contains the status of the upload.
/// The [folder] parameters allows the file to be stored at any path in the
/// bucket.
StorageUploadTask uploadFile(File file, {String folder}) {}
/// The [folder] parameter should not start with "/" , it allows the file to
/// be stored at any path in the bucket.
/// The [type] parameter allows you to specify the extension of the file bein
/// uploaded, it defaults to png.
StorageUploadTask uploadFile(File file,
{String folder, String type = 'png'}) {
final String fileId = _uuid.v1();
final StorageReference fileReference =
_storage.child('folder/$fileId.$type');
return fileReference.putFile(file);
}
}