在我的web api中,我需要接收文件,然后将它们保存在blob存储中。客户端不允许访问并且不知道blob存储。
我试图避免缓冲大小可能高达300MB的文件。我看过这篇文章
How to I pass a stream from Web API to Azure Blob storage without temp files?
但本文中描述的解决方案对我不起作用,因为它假定多部分内容,而这些内容又允许自定义提供者。
我需要处理的客户端不使用多部分内容发送文件。相反,它们只是在消息体中发送文件内容。
以下是我现在的工作方式(带缓冲):
using (var inStream = await this.Request.Content.ReadAsStreamAsync())
{
var blob = container.GetBlockBlobReference(fileName);
var outStream = await blob.OpenWriteAsync();
await inStream.CopyToAsync(outStream);
outStream.Close();
}
有没有办法在不缓冲第一个请求流的情况下将请求流与blob流连接?