如何获取Azure Blob文件大小

时间:2014-08-13 08:29:55

标签: asp.net azure-storage-blobs

我使用Azure blob来存储图像。用户上传这些图像。我想看看每个用户在他们的图像中占用了多少空间。我怎么能在ASP.NET代码中执行此操作?我是否可以通过了解其URI来获取图像文件大小?或者我是否需要使用一些与blob相关的功能?

2 个答案:

答案 0 :(得分:49)

您需要先获取blob的属性。例如,

var blob = _container.GetBlockBlobReference(blobName);
if (blob.Exists())
{
    blob.FetchAttributes();
    return blob.Properties.Length;
}

throw new Exception("Blob doesn't exist");

答案 1 :(得分:1)

在这里为scala / java进行答疑,以防有人被卡住。为了获得Blob的大小,您可以使用以下代码:

val blob: CloudBlockBlob = container.getBlockBlobReference(blobPath)
blob.downloadAttributes()
blob.getProperties.getLength

请确保您确实调用downloadAttributes,否则属性将为空。

有关更多详细信息,请参阅此文档。 https://docs.microsoft.com/en-us/java/api/com.microsoft.azure.storage.blob.cloudblockblob?view=azure-java-legacy