阿里云OSS 获取目录下所有文件

复制代码
  public class AliyunHandle
    {
        public static string accessKeyId = "a1uI5xxxxxxxxxrP4H";
        public static string accessKeySecret = "9JDdggMdT2cxxxxxxxxxxxxxxx5VaE9z";
        public static string endpoint = "oss-cn-qingdao.aliyuncs.com";
        public static string bucket = "testoss";
        OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);

        public void Get()
        {
            var flag = true;
            string maker = string.Empty;

            var dayTime = 24 * 60 * 60 * 1000;
            int k = 0;
            do
            {
                var listObjectsRequest = new ListObjectsRequest(bucket);
                listObjectsRequest.Prefix = "test/47383/"; //指定下一级文件
                listObjectsRequest.Marker = maker; //获取下一页的起始点,它的下一项
                listObjectsRequest.MaxKeys = 100;//设置分页的页容量
                listObjectsRequest.Delimiter = "/";//跳出递归循环,只去指定目录下的文件。使用它时 Prefix文件路径要以“/”结尾
                var result = client.ListObjects(listObjectsRequest);

                Console.WriteLine("List objects succeeded");

                foreach (var summary in result.ObjectSummaries)
                {
                    Console.WriteLine($"{k}File name:{summary.Key}\r\n\r\n");
                    TimeSpan timepsan = DateTime.Now - summary.LastModified;//最后修改时间
                    //时间超过一天就删除
                    if (timepsan.TotalMilliseconds > dayTime)
                    {
                        //删除oss文件
                        client.DeleteObject(bucket, summary.Key);
                        Console.WriteLine($"删除{summary.Key}");
                    }
                    k++;
                }
                maker = result.NextMarker;
                flag = result.IsTruncated;//全部执行完后,为false
            } while (flag);
        }

    }
复制代码

 

posted @   逍遥帝君  阅读(20919)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示