Is it possible to reuse an HTTP Request Body multiple times in Rust without reading it into memory?

Thank you very much for your response. Yes, I cannot read the file into memory at once, as this would certainly cause an OOM. And I need to judge whether to upload the file to S3 after the Checksum calculation is completed, in order to avoid redundant storage (of course, another idea is to calculate and upload at the same time, and if it is found to be duplicated after uploading, it can be deleted asynchronously).

The goal can be understood as having two main points: first, to avoid reading or caching the file in memory, which would result in an OOM error; and second, to reuse the stream, as it will be used multiple times to calculate.