writeFileStream method
Writes a stream of bytes to a file at the given path Creates the file if it doesn't exist, overwrites if it does
Implementation
@override
Future<void> writeFileStream(
String filePath, Stream<Uint8List> dataStream) async {
// Collect all chunks into a single Uint8List for download
final chunks = <Uint8List>[];
await for (final chunk in dataStream) {
chunks.add(chunk);
}
// Calculate total size
final totalSize = chunks.fold<int>(0, (sum, chunk) => sum + chunk.length);
final combined = Uint8List(totalSize);
// Copy all chunks into combined buffer
var offset = 0;
for (final chunk in chunks) {
combined.setRange(offset, offset + chunk.length, chunk);
offset += chunk.length;
}
await writeFile(filePath, combined);
}