Saa*_*adi 4 c# azure azure-storage
我已经开始研究Azure存储了.我已经实现了创建/删除容器,创建/删除/ isExist blob功能.但我很惊讶从Azure存储中找到当前的Blob大小.
我做了很多研究,但我找不到任何合理的解决方案.
这是获取Blob大小的函数:
public long GetBlockBlobSize(string containerName, string blobName)
{
try
{
CloudBlobContainer container = _blobClient.GetContainerReference(containerName);
var blockBlob = container.GetBlockBlobReference(blobName);
return blockBlob.Properties.Length;
}
catch (Exception ex)
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
blockBlob.Properties.Length 值为-1.
谢谢!
Gau*_*tri 17
请将您的代码更改为:
public long GetBlockBlobSize(string containerName, string blobName)
{
try
{
CloudBlobContainer container = _blobClient.GetContainerReference(containerName);
var blockBlob = container.GetBlockBlobReference(blobName);
blockBlob.FetchAttributes();
return blockBlob.Properties.Length;
}
catch (Exception ex)
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,您的代码只是CloudBlockBlob在客户端创建一个实例,因此使用默认值初始化属性.调用FetchAttributes方法时,将从Azure存储中获取blob的实际属性.
| 归档时间: |
|
| 查看次数: |
3211 次 |
| 最近记录: |