1

我正在创建一个 webjob 应用程序来定期(计划)读取 azure 文件共享和处理文件。我正在使用提供的 C# ApI 示例,但无法弄清楚如何使用我的目录列表获取文件元数据。我想做一些简单的事情,比如按修改日期对文件进行排序。有没有人有使用列表文件获取元数据的示例。

 FileResultSegment resultSegment = await share.GetRootDirectoryReference().ListFilesAndDirectoriesSegmentedAsync(token);
 results.AddRange(resultSegment.Results);

导致没有为下面的IListFileItem定义元数据或属性。

foreach (IListFileItem listItem in results)
            {
                // listItem type will be CloudFile or CloudFileDirectory
                Console.WriteLine("- {0} (type: {1})", listItem.Uri, listItem.GetType());
            }
4

2 回答 2

1

投射你的结果怎么样?

foreach (var item in results)
{
    if (item is CloudFile)
    {
        var cloudFile = (CloudFile) item;

        // You can now access metadata and properties
        //cloudFile.Metadata
        //cloudFile.Properties
    }
    else if (item is CloudFileDirectory)
    {
        var cloudFileDirectory = (CloudFileDirectory)item;
        // You can now access metadata and properties
        //cloudFileDirectory.Metadata
        //cloudFileDirectory.Properties
    }
}
于 2016-01-27T02:22:06.487 回答
1

建立在托马斯的帖子上......这是我找到的唯一方法。

foreach (var item in results)
{
    if (item is CloudFile)
    {
        var cloudFile = (CloudFile) item;
        cloudFile.FetchAttributes();

        // You can now access metadata and properties
        //cloudFile.Metadata
        //cloudFile.Properties
    }
    else if (item is CloudFileDirectory)
    {
        var cloudFileDirectory = (CloudFileDirectory)item;
        // You can now access metadata and properties
        //cloudFileDirectory.Metadata
        //cloudFileDirectory.Properties
    }
}
于 2016-01-27T10:59:39.460 回答