addFileStream method

Future<String> addFileStream(
  1. Stream<List<int>> dataStream
)

Adds file content from a stream (memory-efficient for large files)

Collects chunks into a BytesBuilder and then creates a block. For truly large files, consider chunking into multiple blocks.

Implementation

Future<String> addFileStream(Stream<List<int>> dataStream) async {
  try {
    final builder = BytesBuilder();
    await for (final chunk in dataStream) {
      builder.add(chunk);
    }
    return addFile(builder.takeBytes());
  } catch (e) {
    _logger.error('Error adding file from stream: $e');
    rethrow;
  }
}