【发布时间】:2019-08-17 04:13:13
【问题描述】:
我正在寻找一种 C# 方法,该方法将返回 Azure 文件共享中的所有文件(在所有子目录中)。
有一个例子,但它会引发运行时错误。我已经尝试了我从这里得到的下面的代码示例,但是它抛出了一个异常。
我已将代码粘贴到此处,但如果有人有一种方法可以遍历整个 Azure 目录,则可以获取很棒的文件。
CloudFileDirectory dir = fclient.GetShareReference(share.ToString()).GetRootDirectoryReference();
foreach (IListFileItem file in dir.ListFilesAndDirectories()) //.Directory.ListFilesAndDirectories())
{
list_subdir(file);
}
还有方法。
public static void list_subdir(IListFileItem list)
{
Console.WriteLine("subdir");
CloudFileDirectory fileDirectory = (CloudFileDirectory)list;
IEnumerable<IListFileItem> fileList = fileDirectory.ListFilesAndDirectories();
foreach (IListFileItem listItem in fileList)
{
if (listItem.GetType() == typeof(Microsoft.WindowsAzure.Storage.File.CloudFileDirectory))
{
list_subdir(listItem);
}
else
{
Console.WriteLine(listItem.Uri.Segments.Last());
}
}
}
" 在 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.d__11.MoveNext()
in C:\Program Files (x86)\Jenkins\workspace\dotnet-split-pr-master\Lib\ClassLibraryCommon\Core\Executor\Executor.cs:line 82
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.<>c__DisplayClass0_01.b__0() 中
C:\Program Files (x86)\Jenkins\workspace\dotnet-split-pr-master\Lib\ClassLibraryCommon\Core\Executor\Executor.cs:line 41
【问题讨论】:
标签: c# azure azure-storage