在我的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流连接起来而不会先缓冲它们?