UploadToBFromStreamAsync

UploadToBFromStreamAsync

考虑到我们有两种方法:

Task DownloadFromAToStreamAsync(Stream destinationStream);
Task UploadToBFromStreamAsync(Stream sourceStream);


现在,我们需要通过一次操作从A下载内容并将其上传到B。

解决方案之一:

using (var stream = new MemoryStream())
{
    await DownloadFromAToStreamAsync(stream);
    stream.Seek(0, SeekOrigin.Begin);
    await UploadToBFromStreamAsync(stream);
}


但是,此解决方案要求将整个流内容加载到内存中。

如何更有效地解决任务?

最佳答案

更改“下载”方法以接受其他大小参数,该参数指示要下载的数量。然后循环下载和上传,直到下载返回空流。

10-04 12:06