readFileInputElementAsArrayBuffer function

Future<Uint8List?> readFileInputElementAsArrayBuffer(
  1. HTMLInputElement? input, [
  2. bool removeExifFromImage = false
])

Reads selected file of input as Uint8List.

Implementation

Future<Uint8List?> readFileInputElementAsArrayBuffer(HTMLInputElement? input,
    [bool removeExifFromImage = false]) async {
  if (input == null) return null;

  final files = input.files;
  if (files == null || files.isEmpty) return null;

  var file = files.item(0)!;

  Uint8List? data;
  if (removeExifFromImage) {
    var dataURL = await removeExifFromImageFile(file);
    if (dataURL != null) {
      data = DataURLBase64.parsePayloadAsArrayBuffer(dataURL);
    }
  }
  data ??= await readFileDataAsArrayBuffer(file);

  return data;
}