getFileStream method

Stream<List<int>> getFileStream(
  1. File file
)

Implementation

Stream<List<int>> getFileStream(web.File file) async* {
  const int chunkSize = 1024 * 1024;
  final reader = web.FileReader();
  int start = 0;
  while (start < file.size) {
    final end = start + chunkSize > file.size ? file.size : start + chunkSize;
    final blob = file.slice(start, end);
    reader.readAsArrayBuffer(blob);
    await reader.onLoadEnd.first; //???
    yield reader.result as List<int>;
    start += chunkSize;
  }
}