desktopImagePicker function

Future<Uint8List?> desktopImagePicker()

Implementation

Future<Uint8List?> desktopImagePicker() async {
  AtSignLogger atSignLogger = AtSignLogger('desktopImagePicker');
  try {
    final files = await FilePicker.platform.pickFiles(
      type: FileType.image,
    );
    if (files == null || files.files.isEmpty) {
      return null;
    }
    // ignore: omit_local_variable_types
    final file = files.files.first;

    final input = ImageFile(
      rawBytes: file.bytes!,
      filePath: file.path!,
    );

    final output = compress(ImageFileConfiguration(
        input: input,
        config: const Configuration(
            jpgQuality: 50, pngCompression: PngCompression.defaultCompression, outputType: OutputType.jpg)));

    if (output.sizeInBytes > 100000) {
      CustomToast().show('image size cannot exceed 100 kb', NavService.groupPckgLeftHalfNavKey.currentContext!);
      return null;
    }

    return output.rawBytes;
  } catch (e) {
    atSignLogger.severe('Error in desktopImagePicker $e');
    return null;
  }
}