Loading lib/service/media_service.dart +29 −2 Original line number Diff line number Diff line import 'dart:io'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_storage/firebase_storage.dart'; import 'package:path/path.dart' as p; import 'package:stamped/data/entities/country_entity.dart'; import 'package:stamped/data/enums/image_type.dart'; class MediaService { final _postcardImagesRef = FirebaseStorage.instance.ref().child('postcardImages'); final _stampsRef = FirebaseStorage.instance.ref().child('stamps'); final _countryCollection = FirebaseFirestore.instance.collection('countries').withConverter( fromFirestore: (snapshot, options) { Loading @@ -24,8 +33,26 @@ class MediaService { return countrySnapshot.data()!.flag; } Future<void> uploadImage() async { //TODO Future<Reference?> uploadImage( File file, { required ImageType imageType, }) async { final storageRef = imageType == ImageType.postcard ? _postcardImagesRef : _stampsRef; final fileName = _genUniqueFileName(file); final uploadTask = await storageRef.child(fileName).putFile(file); if (uploadTask.state != TaskState.success) { return null; } return storageRef.child(fileName); } String _genUniqueFileName(File file) { final time = DateTime.now().millisecondsSinceEpoch.toString(); return '$time${p.basename(file.path)}'; } Future<void> deleteImage() async { Loading Loading
lib/service/media_service.dart +29 −2 Original line number Diff line number Diff line import 'dart:io'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_storage/firebase_storage.dart'; import 'package:path/path.dart' as p; import 'package:stamped/data/entities/country_entity.dart'; import 'package:stamped/data/enums/image_type.dart'; class MediaService { final _postcardImagesRef = FirebaseStorage.instance.ref().child('postcardImages'); final _stampsRef = FirebaseStorage.instance.ref().child('stamps'); final _countryCollection = FirebaseFirestore.instance.collection('countries').withConverter( fromFirestore: (snapshot, options) { Loading @@ -24,8 +33,26 @@ class MediaService { return countrySnapshot.data()!.flag; } Future<void> uploadImage() async { //TODO Future<Reference?> uploadImage( File file, { required ImageType imageType, }) async { final storageRef = imageType == ImageType.postcard ? _postcardImagesRef : _stampsRef; final fileName = _genUniqueFileName(file); final uploadTask = await storageRef.child(fileName).putFile(file); if (uploadTask.state != TaskState.success) { return null; } return storageRef.child(fileName); } String _genUniqueFileName(File file) { final time = DateTime.now().millisecondsSinceEpoch.toString(); return '$time${p.basename(file.path)}'; } Future<void> deleteImage() async { Loading