Хранилище файлов Azure: создание вложенных каталогов - PullRequest
0 голосов
/ 01 октября 2018

Мой код выглядит следующим образом

CloudFileClient client = ...;

client.GetShareReference("fileStorageShare")
    .GetRootDirectoryReference()
    .GetDirectoryReference("one/two/three")
    .Create();

Эта ошибка, если один или два каталога не существуют.Есть ли способ создать эти вложенные каталоги одним вызовом?

1 Ответ

0 голосов
/ 16 октября 2018

невозможно.SDK не поддерживает его таким образом, вы должны создавать их один за другим.

Проблема уже отправлена ​​ здесь .

Если вы хотите создать их один за другим, вы можете использовать следующий пример кода:

static void NestedDirectoriesTest()
{
   var cred = new StorageCredentials(accountName, accountKey);
   var account = new CloudStorageAccount(cred, true);
   var client = account.CreateCloudFileClient();
   var share = client.GetShareReference("temp2");
   share.CreateIfNotExists();
   var cloudFileDirectory = share.GetRootDirectoryReference();

   //Specify the nested folder
   var nestedFolderStructure = "Folder/SubFolder";
   var delimiter = new char[] { '/' }; 
   var nestedFolderArray = nestedFolderStructure.Split(delimiter);
   for (var i=0; i<nestedFolderArray.Length; i++)
   {
       cloudFileDirectory = cloudFileDirectory.GetDirectoryReference(nestedFolderArray[i]);
       cloudFileDirectory.CreateIfNotExists();
       Console.WriteLine(cloudFileDirectory.Name + " created...");
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...