我正在尝试在azure文件共享中创建文件夹结构。我是从一个网络应用程序这样做的。我的代码如下所示:
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(StorageConnectionString);
CloudFileClient cloudFileClient = cloudStorageAccount.CreateCloudFileClient();
//Get a reference for the share
CloudFileShare cloudFileShare = cloudFileClient.GetShareReference(VideosDirectoryName);
// Get a reference to the root directory for the share.
CloudFileDirectory rootDir = cloudFileShare.GetRootDirectoryReference();
// Try to get a reference for the new folder
CloudFileDirectory sampleDir = rootDir.GetDirectoryReference(storagePath);
//create the directory structure
sampleDir.CreateAsync();
storagePath看起来像:2017 \ 03 \ 13 \ d68dd25587624b8691a05834466cfc11
当我运行此代码时,没有任何反应。抛出没有异常但没有创建文件夹。我做错了什么?
编辑:同时,我发现this answer表示我需要逐级创建。我会尝试的。
答案 0 :(得分:1)
如果您在通过Azure存储SDK创建多级目录结构时使用fiddler捕获请求,您会发现它发送了这样的请求。
PUT https:// {storageaccount} .file.core.windows.net / {sharename} / 2017%5C03%5C13%5C0945682c-2214-49a5-93ba-10ac105532ea?restype = directory
,您会发现状态为 404 。
根据this documentation,我们可以发现在创建mydirectory之前,父目录必须已存在于共享中。