提供给AmazonS3Client的上传流必须是可查找的。您可以使用Stream来查找AmazonS3Util.MakeStreamSeekable。但是,它的来源显示,它在大型流中的性能不佳:
public static System.IO.Stream MakeStreamSeekable(System.IO.Stream input)
{
System.IO.MemoryStream output = new System.IO.MemoryStream();
const int readSize = 32 * 1024;
byte[] buffer = new byte[readSize];
int count = 0;
using (input)
{
while ((count = input.Read(buffer, 0, readSize)) > 0)
{
output.Write(buffer, 0, count);
}
}
output.Position = 0;
return output;
}那么,在不将所有内容复制到内存的情况下,有什么方法可以将Stream上传到S3?
发布于 2021-02-12 10:13:03
每个块必须是一个可查找的Stream,但是可以有很多块。解决方案是拆分输入Stream。
https://stackoverflow.com/questions/66160176
复制相似问题