Azure资源管理器中显示1827时,Azure存储未返回任何Blob
在上传了近2000张图片后,我试图设置正确的内容类型,但没有意识到我必须设置它们的ContentType属性。幸运的是,在我从.png文件转移到其他类型之前,我意识到了这一点 以下是我的方法:Azure资源管理器中显示1827时,Azure存储未返回任何Blob,azure,blobstorage,Azure,Blobstorage,在上传了近2000张图片后,我试图设置正确的内容类型,但没有意识到我必须设置它们的ContentType属性。幸运的是,在我从.png文件转移到其他类型之前,我意识到了这一点 以下是我的方法: private static void ChangeImageTypeInAzureStorage() { var client = GetAzureClient(); var blobContainer = client.GetContainerReference
private static void ChangeImageTypeInAzureStorage()
{
var client = GetAzureClient();
var blobContainer = client.GetContainerReference("accessibleimages");
var list = blobContainer.ListBlobs().OfType<CloudBlockBlob>().ToList();
if (!list.Any()) return; //log no entries returned
try
{
foreach (var item in list)
{
if (Path.GetExtension(item.Uri.AbsoluteUri) == ".png")
{
item.Properties.ContentType = "image/png";
}
item.SetProperties();
}
}
catch (Exception ex)
{
//log exceptions with your own methods
Console.WriteLine(ex);
}
Console.WriteLine("Done... press a key to end.");
Console.ReadKey();
}
我不明白为什么清单上什么都不退。客户端和blobContainer是正确的。我将这些图像上传到同一个客户端blobContainer时没有问题。不用说它失败了,因为列表的计数总是0
感谢您的帮助。好吧,我在谷歌上搜索了很多遍才找到答案。ListBlobs方法的布尔参数useFlatBoolListing必须设置为true
var list = blobContainer.ListBlobs(null, true).OfType<CloudBlockBlob>().ToList();