implemented max size for uploading images

This commit is contained in:
2023-05-03 18:45:01 +02:00
parent 0a10bf256c
commit f470e92aab
3 changed files with 66 additions and 3 deletions
+17 -3
View File
@@ -30,16 +30,30 @@ class _AddScreenState extends State<AddScreen> {
_selectedIndex = widget.initialIndex;
}
Future<bool> isFileSizeValid(File file, int maxSizeInMB) async {
final fileSize = await file.length();
final maxSizeInBytes = maxSizeInMB * 1024 * 1024;
return fileSize <= maxSizeInBytes;
}
Future<void> _getImage(ImageSource source) async {
final pickedFile = await ImagePicker().pickImage(source: source);
if (pickedFile != null) {
setState(() {
_imageFile = File(pickedFile.path);
});
final tempFile = File(pickedFile.path);
final bool isValid = await isFileSizeValid(tempFile, 10);
if (isValid) {
setState(() {
_imageFile = tempFile;
});
} else {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Die Dateigröße darf maximal 10 MB betragen.')),
);
}
}
}
Future<void> addNewElementToFirestore(String title, String description, File imageFile) async {
String collectionName;
if (_selectedIndex == 0) {