如何列出blob容器中的所有目录和子目录?
这是我到目前为止:
public List<CloudBlobDirectory> Folders { get; set; }
public List<CloudBlobDirectory> GetAllFoldersAndSubFoldersFromBlobStorageContainer()
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
if (container.Exists())
{
Folders = new List<CloudBlobDirectory>();
foreach (var item in container.ListBlobs())
{
if (item is CloudBlobDirectory)
{
var folder = (CloudBlobDirectory)item;
Folders.Add(folder);
GetSubFolders(folder);
}
}
}
return Folders;
}
private void GetSubFolders(CloudBlobDirectory folder)
{
foreach (var item in folder.ListBlobs())
{
if (item is CloudBlobDirectory)
{
var subfolder = (CloudBlobDirectory)item;
Folders.Add(subfolder);
GetSubFolders(subfolder);
}
}
} …Run Code Online (Sandbox Code Playgroud)