为了账号安全,请及时绑定邮箱和手机立即绑定

DownloadToStreamAsync返回空流C#

DownloadToStreamAsync返回空流C#

C#
慕码人2483693 2021-04-01 10:11:28
我正在尝试从Azure上的blob帐户下载blob文件作为字节数组。我做这个 var blockBlob = blobContainer.GetBlockBlobReference(id);                using (var mStream = new MemoryStream())                {                    blockBlob.DownloadToStreamAsync(mStream);                    result = mStream.ToArray();                }上面的代码向我返回了一个空流。我的azure blob帐户中确实有该文件,并且检查了代码生成的uri,这与我的azure blob上要作为字节数组下载的文件上的uri相同。有没有更好的方法在c#中将azure blob文件下载为字节数组?
查看完整描述

2 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您应该等待异步操作完成。


          using (var mStream = new MemoryStream())

            {


                 await  blockBlob.DownloadToStreamAsync(mStream);

                 result = mStream.ToArray();

            }

您之所以空虚,是因为您试图在尚无价值时从中获取价值。


查看完整回答
反对 回复 2021-04-24
?
暮色呼如

TA贡献1853条经验 获得超9个赞

供您参考的两个选项

  • 正如@Gaurav所说,请使用await blockBlob.DownloadToStreamAsync(mStream)
    注意,public async Task methodname()如果使用此方法,则应将方法更改为。

  • blockBlob.DownloadToStream(mStream)在不需要异步方法的情况下使用。

给你一些参考


查看完整回答
反对 回复 2021-04-24
  • 2 回答
  • 0 关注
  • 273 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信