selectImage method
void
selectImage()
Implementation
void selectImage() async {
final List<XFile> selectImage = await imagePicker.pickMultiImage();
if (selectImage.isEmpty) return;
if (widget._controller.maxCount != null) {
final totalLength = widget._controller.files.length + selectImage.length;
if (totalLength > widget._controller.maxCount!) {
final errorMessage = widget._controller.maxCountMessage ??
Utils.translateWithFallback('ensemble.input.maxCountMessage',
'Maximum ${widget._controller.maxCount} files can be selected');
if (!mounted) return;
ToastController().showToast(
context,
ShowToastAction(
type: ToastType.error,
message: errorMessage,
alignment: Alignment.topCenter,
dismissible: true,
duration: 3),
null);
return;
}
}
for (var element in selectImage) {
final bytes = kIsWeb ? await element.readAsBytes() : null;
final fileSize = await element.length();
File file = File(element.name, element.path.split('.').last, fileSize,
element.path, bytes);
widget._controller.files.insert(0, file);
}
setState(() {});
}