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