QCloudGetBucketRequest.h 6.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. //
  2. // GetBucket.h
  3. // GetBucket
  4. //
  5. // Created by tencent
  6. // Copyright (c) 2015年 tencent. All rights reserved.
  7. //
  8. // ██████╗ ██████╗██╗ ██████╗ ██╗ ██╗██████╗ ████████╗███████╗██████╗ ███╗ ███╗██╗███╗ ██╗ █████╗ ██╗ ██╗ █████╗ ██████╗
  9. // ██╔═══██╗██╔════╝██║ ██╔═══██╗██║ ██║██╔══██╗ ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██║████╗ ██║██╔══██╗██║ ██║ ██╔══██╗██╔══██╗
  10. // ██║ ██║██║ ██║ ██║ ██║██║ ██║██║ ██║ ██║ █████╗ ██████╔╝██╔████╔██║██║██╔██╗ ██║███████║██║ ██║ ███████║██████╔╝
  11. // ██║▄▄ ██║██║ ██║ ██║ ██║██║ ██║██║ ██║ ██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██║██║╚██╗██║██╔══██║██║ ██║ ██╔══██║██╔══██╗
  12. // ╚██████╔╝╚██████╗███████╗╚██████╔╝╚██████╔╝██████╔╝ ██║ ███████╗██║ ██║██║ ╚═╝ ██║██║██║ ╚████║██║ ██║███████╗ ███████╗██║ ██║██████╔╝
  13. // ╚══▀▀═╝ ╚═════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝ ╚══════╝╚═╝ ╚═╝╚═════╝
  14. //
  15. //
  16. // _ __ _ _
  17. // (_) / _| | | | |
  18. // ___ ___ _ ____ ___ ___ ___ | |_ ___ _ __ __| | _____ _____| | ___ _ __ ___ _ __ ___
  19. // / __|/ _ \ '__\ \ / / |/ __/ _ \ | _/ _ \| '__| / _` |/ _ \ \ / / _ \ |/ _ \| '_ \ / _ \ '__/ __|
  20. // \__ \ __/ | \ V /| | (_| __/ | || (_) | | | (_| | __/\ V / __/ | (_) | |_) | __/ | \__
  21. // |___/\___|_| \_/ |_|\___\___| |_| \___/|_| \__,_|\___| \_/ \___|_|\___/| .__/ \___|_| |___/
  22. // ______ ______ ______ ______ ______ ______ ______ ______ | |
  23. // |______|______|______|______|______|______|______|______| |_|
  24. //
  25. #import <Foundation/Foundation.h>
  26. #import <QCloudCore/QCloudCore.h>
  27. #import "QCloudListBucketResult.h"
  28. NS_ASSUME_NONNULL_BEGIN
  29. /**
  30. 查询存储桶(Bucket) 下的部分或者全部对象的方法.
  31. COS 支持列出指定 Bucket 下的部分或者全部对象.
  32. 每次默认返回的最大条目数为 1000 条.
  33. 如果无法一次返回所有的对象,则返回结果中的 IsTruncated 为 true,同时会附加一个 NextMarker 字段,提示下 一个条目的起点.
  34. 若一次请求,已经返回了全部对象,则不会有 NextMarker 这个字段,同时 IsTruncated 为 false.
  35. 若把 prefix 设置为某个文件夹的全路径名,则可以列出以此 prefix 为开头的文件,即该文件 夹下递归的所有文件和子文件夹.
  36. 如果再设置 delimiter 定界符为 “/”,则只列出该文件夹下的文件,子文件夹下递归的文件和文件夹名 将不被列出.而子文件夹名将会以 CommonPrefix 的形式给出.
  37. 关于查询Bucket 下的部分或者全部对象接口的具体描述,请查看https://cloud.tencent.com/document/product/436/7734.
  38. cos iOS SDK 中查询 Bucket 下的部分或者全部对象的方法具体步骤如下:
  39. 1. 实例化 QCloudGetBucketRequest,填入需要的参数。
  40. 2. 调用 QCloudCOSXMLService 对象中的 GetBucket 方法发出请求。
  41. 3. 从回调的 finishBlock 中的 QCloudListBucketResult 获取具体内容。
  42. 示例:
  43. @code
  44. QCloudGetBucketRequest* request = [QCloudGetBucketRequest new];
  45. request.bucket = @“testBucket-123456789”; //存储桶名称(cos v5 的 bucket格式为:xxx-appid, 如 test-1253960454)
  46. request.maxKeys = 1000;
  47. [request setFinishBlock:^(QCloudListBucketResult * result, NSError* error) {
  48. //additional actions after finishing
  49. }];
  50. [[QCloudCOSXMLService defaultCOSXML] GetBucket:request];
  51. @endcode
  52. */
  53. @interface QCloudGetBucketRequest : QCloudBizHTTPRequest
  54. /**
  55. 存储桶名
  56. */
  57. @property (strong, nonatomic) NSString *bucket;
  58. /**
  59. 前缀匹配,用来规定返回的文件前缀地址
  60. */
  61. @property (strong, nonatomic) NSString *prefix;
  62. /**
  63. 定界符为一个符号,如果有 Prefix,则将 Prefix 到 delimiter 之间的相同路径归为一类,定义为 Common Prefix,然后列出所有 Common Prefix。如果没有 Prefix,则从路径起点开始
  64. */
  65. @property (strong, nonatomic) NSString *delimiter;
  66. /**
  67. 规定返回值的编码方式,可选值:url
  68. */
  69. @property (strong, nonatomic) NSString *encodingType;
  70. /**
  71. 默认以UTF-8二进制顺序列出条目,所有列出条目从marker开始
  72. */
  73. @property (strong, nonatomic) NSString *marker;
  74. /**
  75. 单次返回的最大条目数量,默认1000
  76. */
  77. @property (assign, nonatomic) int maxKeys;
  78. - (void) setFinishBlock:(void (^)(QCloudListBucketResult* result, NSError * error))QCloudRequestFinishBlock;
  79. @end
  80. NS_ASSUME_NONNULL_END