Esempio n. 1
0
 /// 获取对象列表与子目录
 public void GetBucketWithDelimiter()
 {
     //.cssg-snippet-body-start:[get-bucket-with-delimiter]
     try
     {
         string           bucket  = "examplebucket-1250000000"; //格式:BucketName-APPID
         GetBucketRequest request = new GetBucketRequest(bucket);
         //获取 a/ 下的对象以及子目录
         request.SetPrefix("a/");
         request.SetDelimiter("/");
         //执行请求
         GetBucketResult result = cosXml.GetBucket(request);
         //bucket的相关信息
         ListBucket info = result.listBucket;
         // 对象列表
         List <ListBucket.Contents> objects = info.contentsList;
         // 子目录列表
         List <ListBucket.CommonPrefixes> subDirs = info.commonPrefixesList;
     }
     catch (COSXML.CosException.CosClientException clientEx)
     {
         //请求失败
         Console.WriteLine("CosClientException: " + clientEx);
     }
     catch (COSXML.CosException.CosServerException serverEx)
     {
         //请求失败
         Console.WriteLine("CosServerException: " + serverEx.GetInfo());
     }
     //.cssg-snippet-body-end
 }
        public void GetBucket()
        {
            try
            {
                GetBucketRequest request = new GetBucketRequest(QCloudServer.Instance().bucketForObjectTest);

                request.SetDelimiter("/");
                request.SetEncodingType("url");
                request.SetMaxKeys("1000");

                List <string> headerKeys = new List <string>();

                headerKeys.Add("Host");

                List <string> queryParameters = new List <string>();

                queryParameters.Add("prefix");
                queryParameters.Add("max-keys");
                //执行请求
                GetBucketResult result = QCloudServer.Instance().cosXml.GetBucket(request);
                Assert.True(result.httpCode == 200);
                // Console.WriteLine(result.GetResultInfo());
                Assert.IsNotEmpty((result.GetResultInfo()));

                var listObjects = result.listBucket;

                Assert.NotNull(listObjects.delimiter);
                Assert.NotNull(listObjects.encodingType);
                Assert.NotNull(listObjects.name);
                Assert.NotZero(listObjects.maxKeys);
                Assert.IsFalse(listObjects.isTruncated);

                Assert.That(listObjects.prefix, Is.Null.Or.Empty);
                Assert.That(listObjects.marker, Is.Null.Or.Empty);
                Assert.That(listObjects.nextMarker, Is.Null.Or.Empty);

                Assert.NotZero(listObjects.commonPrefixesList.Count);
                foreach (var commonPrefix in listObjects.commonPrefixesList)
                {
                    Assert.NotNull(commonPrefix.prefix);
                }

                Assert.NotZero(listObjects.contentsList.Count);
                foreach (var content in listObjects.contentsList)
                {
                    Assert.NotNull(content.eTag);
                    Assert.NotNull(content.owner);
                    Assert.NotNull(content.owner.id);
                    Assert.NotNull(content.key);
                    Assert.NotNull(content.lastModified);
                    Assert.NotNull(content.size);
                    Assert.NotNull(content.storageClass);
                }
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Console.WriteLine("CosClientException: " + clientEx.Message);
                Assert.Fail();
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.Fail();
            }
        }