您已经在使用的
Stream方式意味着您没有将整个文件读入内存。它可能以64k块的形式读取。
您可以使用StreamTransformer拦截生产者(文件)和消费者(HttpClient)之间的流,如下所示:
int byteCount = 0; Stream<List<int>> stream2 = stream.transform( new StreamTransformer.fromHandlers( handledata: (data, sink) { byteCount += data.length; print(byteCount); sink.add(data); }, handleError: (error, stack, sink) {}, handleDone: (sink) { sink.close(); }, ), );.... await request.addStream(stream2);您应该看到
byteCount以64k块递增。



