2017-02-22 4 views
0

Я хотел создать папки и подпапки, я нашел this workaround: , но когда я их перечислил: с помощью этого кода (source):Почему API Azure не содержит список, который называется/folder/folder/file?

foreach (IListBlobItem item in Container.ListBlobs(null, false)) 
      { 
       if (item.GetType() == typeof(CloudBlockBlob)) 
       { 
        CloudBlockBlob blob = (CloudBlockBlob)item; 

        Console.WriteLine("Block blob of length {0}: {1}", blob.Properties.Length, blob.Uri); 

       } 
       else if (item.GetType() == typeof(CloudPageBlob)) 
       { 
        CloudPageBlob pageBlob = (CloudPageBlob)item; 

        Console.WriteLine("Page blob of length {0}: {1}", pageBlob.Properties.Length, pageBlob.Uri); 

       } 
       else if (item.GetType() == typeof(CloudBlobDirectory)) 
       { 
        CloudBlobDirectory directory = (CloudBlobDirectory)item; 

        Console.WriteLine("Directory: {0}", directory.Uri); 
       } 
      } 

Это показывает только родительские папки и сгустки в корневом контейнере. я ожидал, чтобы получить их все, как сгустки, так как это виртуальный каталог не является реальным, , например, у меня есть этот файл,

https://account.blob.core.windows.net/container/Accounts/Images/1/acc.jpg 

, но он не показывает, это просто показать:

https://account.blob.core.windows.net/container/Accounts 

и

https://account.blob.core.windows.net/container/anyfile 

Должен ли я запрашивать подпапки внутри родительских папок для доступа к файлу?

ответ

2

Пожалуйста, попробуйте указать 2-й параметр как true в ListBlobs метод. Этот параметр указывает, хотите ли вы распечатать список плоских (true) или иерархических списков (false).

Из ссылки документации:

useFlatBlobListing

Тип: System.Boolean

Логическое значение, указывающее, следует ли перечислить сгустки в плоском список, или в список блоками иерархически, виртуальным .

Смежные вопросы