getMultiImages static method

Future<List?> getMultiImages({
  1. required ImageType outputType,
})

of Future returned depending on outputType :

List<html.File> imgFiles = await getMultiImages(ImageType.file);
List<Uint8List> imgBytes = await getMultiImages(ImageType.bytes);
List<Image> imgWidgets = await getMultiImages(ImageType.widget);

Implementation

static Future<List?> getMultiImages({required ImageType outputType}) async {
  if (!(outputType is ImageType)) {
    throw ArgumentError(
        'outputType has to be from Type: ImageType if you call getImage()');
  }
  final images = await ImagePickerWeb()._pickMultiFiles('image');
  if (images == null) return null;
  switch (outputType) {
    case ImageType.file:
      return images;
    case ImageType.bytes:
      List<Uint8List> files = [];
      for (final img in images) files.add(await img.asBytes());
      return files.isEmpty ? null : files;
    case ImageType.widget:
      List<Uint8List> files = [];
      for (final img in images) files.add(await img.asBytes());
      if (files.isEmpty) return null;
      return files.map<Image>((e) => Image.memory(e)).toList();
    default:
      return null;
  }
}