我尝试从Azure上的blob帐户下载blob文件作为bytearray。我这样做。
var blockBlob = blobContainer.GetBlockBlobReference(id);
using (var mStream = new MemoryStream())
{
blockBlob.DownloadToStreamAsync(mStream);
result = mStream.ToArray();
}
上面的代码返回一个空流。我确实在我的azure blob帐户上有文件,我检查了由代码生成的uri,它与我的azure blob上的文件相同,我想以bytearray的形式下载该文件。
有没有更好的方法在c#中将azure blob文件下载为bytearray?
答案 0 :(得分:1)
您可以参考两个选项
await blockBlob.DownloadToStreamAsync(mStream)
public async Task methodname()
。blockBlob.DownloadToStream(mStream)
。一些参考资料
答案 1 :(得分:1)
您应该等到异步操作完成。
using (var mStream = new MemoryStream())
{
await blockBlob.DownloadToStreamAsync(mStream);
result = mStream.ToArray();
}
你变得空虚,因为当它还没有时,你试图从中获得价值。