我的代码如下所示
CloudFileClient client = ...;
client.GetShareReference("fileStorageShare")
.GetRootDirectoryReference()
.GetDirectoryReference("one/two/three")
.Create();
如果目录一或目录二不存在,则会出现此错误。有没有办法通过一次调用来创建这些嵌套目录?
最佳答案
这是不可能的。 SDK不支持这种方式,需要一一创建。
问题已提交here .
如果你想一一创建它们,可以使用以下示例代码:
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...");
}
}
关于c# - Azure 文件存储 : Create nested directories,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52593360/