Implemented the [uploadFile] method
This commit is contained in:
parent
089548b492
commit
fe9d73c491
1 changed files with 14 additions and 6 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue