/// 获取对象列表与子目录 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(); } }