从Azure文件服务列出文件

时间:2015-09-21 15:34:15

标签: azure azure-files

我已将文件上传到Azure文件服务帐户的文件夹中。现在我想列出这些文件。代码到达此行时

FileResultSegment resultSegment = await dir.ListFilesAndDirectoriesSegmentedAsync(token);

关闭。没有错误,所以我无法弄清楚这个问题。完整的方法如下。有人有这个工作吗?

public async void ListFiles() 
{
  const string clientShare = "clientshare";
  const string profileDirectory = "profiledirectory";
  CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
  CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
  CloudFileShare share = fileClient.GetShareReference(clientShare);
  CloudFileDirectory root = share.GetRootDirectoryReference();
  CloudFileDirectory dir = root.GetDirectoryReference(profileDirectory);

  if (share.Exists())
  {
      Console.WriteLine("Share Exists");
  }

  if (dir.Exists())
  {
      Console.WriteLine("Profiledirectory Exists");
  }


  Console.WriteLine("List Files/Directories in root directory");
  var results = new List<IListFileItem>();
  FileContinuationToken token = null;
  try
  {
      do
      {
          FileResultSegment resultSegment = await dir.ListFilesAndDirectoriesSegmentedAsync(token);
          results.AddRange(resultSegment.Results);
          token = resultSegment.ContinuationToken;
      }
      while (token != null);
  }
  catch (Exception ex)
  {
      Console.WriteLine(ex.Message);
      Console.ReadKey();
  }

  // Print all files/directories listed above
  foreach (IListFileItem listItem in results)
  {
      // listItem type will be CloudFile or CloudFileDirectory
      Console.WriteLine("- {0} (type: {1})", listItem.Uri, listItem.GetType());
  }
  Console.ReadKey();
}

0 个答案:

没有答案