readFileDataAsArrayBuffer function

Future<Uint8List?> readFileDataAsArrayBuffer(
  1. File file
)

Reads file as Uint8List.

Implementation

Future<Uint8List?> readFileDataAsArrayBuffer(File file) async {
  final reader = FileReader();
  reader.readAsArrayBuffer(file);

  await reader.onLoadEnd.first;

  if (reader.error != null) {
    return null;
  }

  var result = reader.result;

  if (result.isA<JSArrayBuffer>()) {
    var arrayBuffer = result as JSArrayBuffer;
    var byteBuffer = arrayBuffer.toDart;
    return Uint8List.view(byteBuffer);
  } else if (result.isA<JSUint8Array>()) {
    var fileData = result as JSUint8Array?;
    return fileData?.toDart;
  } else {
    return null;
  }
}