如何获取在云文件中修改文件的日期?

问题描述:

如何获取在云文件中修改文件的日期?如何获取在云文件中修改文件的日期?

我使用云文件中的.net SDK(不是机架空间nu获取软件包)。

我可以得到我的文件列表并调用GetStorageItemInformation大小,但我想知道文件何时放入云文件。如果我使用Cloudberry资源管理器应用程序,我会看到它有这些信息。

它在.net SDK中,并在哪里?

+1

您使用openstack.net软件包还是使用了不推荐使用的软件包csharp-cloudfiles? –

+0

正在使用较旧的SDK,我认为这是问题所在。 – Maestro1024

在遍历容器中的文件时,可以使用OpenStack.NET的ContainerObject.LastModified。这是一个控制台应用程序,其中列出了一个区域中的所有容器及其上次修改时间戳的文件。

using System; 
using net.openstack.Core.Domain; 
using net.openstack.Providers.Rackspace; 

namespace CloudFilesDateModified 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      const string region = "DFW"; 
      var identity = new CloudIdentity { Username = "username", APIKey = "apikey" }; 

      var cloudfiles = new CloudFilesProvider(identity); 
      foreach (Container container in cloudfiles.ListContainers(region:region)) 
      { 
       Console.WriteLine($"Container: {container.Name}"); 

       foreach (ContainerObject file in cloudfiles.ListObjects(container.Name, region: region)) 
       { 
        Console.WriteLine($"\t{file.Name} - {file.LastModified}"); 
       } 
      } 

      Console.ReadLine(); 

     } 
    } 
} 

下面是一些样本输出

Container: test 
    foobar - 10/12/2015 2:00:26 PM -06:00 
    foobar/file.png - 11/6/2015 7:34:42 PM -06:00 
    foobar/index.html - 11/6/2015 7:34:31 PM -06:00 

如果容器有超过10,000个文件,则需要通过所有的文件采用寻呼参数循环。在下面的例子中,我一次对结果100进行分页。

foreach (Container container in cloudfiles.ListContainers(region: region)) 
{ 
    Console.WriteLine($"Container: {container.Name}"); 

    int limit = 100; 
    string lastFileName = null; 
    IEnumerable<ContainerObject> results; 
    do 
    { 
     results = cloudfiles.ListObjects(container.Name, region: region, limit: limit, marker: lastFileName); 
     foreach (ContainerObject file in results) 
     { 
      Console.WriteLine($"\t{file.Name} - {file.LastModified}"); 
      lastFileName = file.Name; 
     } 
    } while (results.Any()); 
} 
+0

很好。有没有简单的方法来获取所有的文件? ListObjects似乎获得了前10,000个。 – Maestro1024

+0

我已经更新了答案,以包含如何在容器中的文件超过10,000个时通过结果进行翻页的示例。 –