azure - 如何将非多部分文件内容从客户端传递到 blob 存储而不在 web api 应用程序中缓冲它?
问题描述
在我的 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 流连接起来,而不需要先缓冲?
解决方案
推荐阅读
- laravel - Laravel Eloquent 检查两个特定模型之间的关系
- winapi - 我单击后退按钮,程序可以获得正常路径,但是当我再次单击后退按钮时,它会发生错误。不知道是不是内存问题
- c# - 同时反序列化多种类型并展平对象
- blender - 寻找物体的角度?
- python - 多项选择测验类型错误:问题()不接受任何参数
- html - 如何使用 SpringBoot 在 HTML thymeleaf 中的 List<...> 上制作页面
- python-3.x - 为什么我的班级没有填充此属性?
- mysql - Mysql中有没有办法从第二次出现的动态长度中提取字符串
- html - border-bottom 如何在 CSS 上水平居中?
- typescript - Figma 插件访问已安装的组件