QCloudCOSXML.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. //
  2. // QCloudCOSXML.h
  3. // Pods
  4. //
  5. // Created by Dong Zhao on 2017/5/2.
  6. //
  7. //
  8. #ifndef QCloudCOSXML_h
  9. #define QCloudCOSXML_h
  10. #import "QCloudCOSXMLService.h"
  11. #import "QCloudCOSXMLService+Transfer.h"
  12. #import "QCloudCOSXMLService+Manager.h"
  13. #import "QCloudGetObjectACLRequest.h"
  14. #import "QCloudPutObjectRequest.h"
  15. #import "QCloudInitiateMultipartUploadRequest.h"
  16. #import "QCloudCOSTransferMangerService.h"
  17. #import "QCloudCOSXMLUploadObjectRequest.h"
  18. #import "QCloudUploadObjectResult.h"
  19. #import "QCloudPutObjectACLRequest.h"
  20. #import "QCloudDeleteObjectRequest.h"
  21. #import "QCloudDeleteMultipleObjectRequest.h"
  22. #import "QCloudListMultipartRequest.h"
  23. #import "QCloudDeleteObjectInfo.h"
  24. #import "QCloudDeleteInfo.h"
  25. #import "QCloudHeadObjectRequest.h"
  26. #import "QCloudAppendObjectRequest.h"
  27. #import "QCloudGetObjectRequest.h"
  28. #import "QCloudGetObjectRequest+Custom.h"
  29. /**
  30. 简单复制对象的方法.
  31. COS 中复制对象可以完成如下功能:
  32. 创建一个新的对象副本.
  33. 复制对象并更名,删除原始对象,实现重命名
  34. 修改对象的存储类型,在复制时选择相同的源和目标对象键,修改存储类型.
  35. 在不同的腾讯云 COS 地域复制对象.
  36. 修改对象的元数据,在复制时选择相同的源和目标对象键,并修改其中的元数据,复制对象时,默认将继承原对象的元数据,但创建日期将会按新对象的时间计算.
  37. 1. 当复制的对象小于等于 5 GB ,可以使用简单复制(https://cloud.tencent.com/document/product/436/14117).
  38. 2. 当复制对象超过 5 GB 时,必须使用分块复制(https://cloud.tencent.com/document/product/436/14118 ) 来实现复制.
  39. 3. 关于简单复制接口的具体描述,请查看https://cloud.tencent.com/document/product/436/10881.
  40. cos iOS SDK 中简单复制对象的同步方法具体步骤如下:
  41. 1. 实例化 QCloudPutObjectRequest 对象;
  42. 2. 调用 QCloudCOSXMLService 对象中的 GetBucket 方法发出请求
  43. 3. 从回调的 finishBlock 中的 QCloudCopyObjectResult 获取具体内容。
  44. 示例:
  45. @code
  46. QCloudPutObjectCopyRequest* request = [[QCloudPutObjectCopyRequest alloc] init];
  47. request.bucket = self.bucket; //存储桶名称(cos v5 的 bucket格式为:xxx-appid, 如 test-1253960454)
  48. request.object = [NSUUID UUID].UUIDString; //对象名
  49. request.objectCopySource = objectCopySource; //源文件 URL 路径,可以通过 versionid 子资源指定历史版本
  50. [request setFinishBlock:^(QCloudCopyObjectResult* result, NSError* error) {
  51. //additional actions after finishing
  52. }];
  53. [[QCloudCOSXMLService defaultCOSXML] PutObjectCopy:request];
  54. @endcode
  55. */
  56. #import "QCloudCopyObjectResult.h"
  57. /**
  58. 简单复制对象的方法.
  59. COS 中复制对象可以完成如下功能:
  60. 创建一个新的对象副本.
  61. 复制对象并更名,删除原始对象,实现重命名
  62. 修改对象的存储类型,在复制时选择相同的源和目标对象键,修改存储类型.
  63. 在不同的腾讯云 COS 地域复制对象.
  64. 修改对象的元数据,在复制时选择相同的源和目标对象键,并修改其中的元数据,复制对象时,默认将继承原对象的元数据,但创建日期将会按新对象的时间计算.
  65. 1. 当复制的对象小于等于 5 GB ,可以使用简单复制(https://cloud.tencent.com/document/product/436/14117).
  66. 2. 当复制对象超过 5 GB 时,必须使用分块复制(https://cloud.tencent.com/document/product/436/14118 ) 来实现复制.
  67. 3. 关于简单复制接口的具体描述,请查看https://cloud.tencent.com/document/product/436/10881.
  68. cos iOS SDK 中简单复制对象的同步方法具体步骤如下:
  69. 1. 实例化 QCloudPutObjectRequest 对象;
  70. 2. 调用 QCloudCOSXMLService 对象中的 GetBucket 方法发出请求
  71. 3. 从回调的 finishBlock 中的 QCloudCopyObjectResult 获取具体内容。
  72. 示例:
  73. @code
  74. QCloudPutObjectCopyRequest* request = [[QCloudPutObjectCopyRequest alloc] init];
  75. request.bucket = self.bucket; //存储桶名称(cos v5 的 bucket格式为:xxx-appid, 如 test-1253960454)
  76. request.object = [NSUUID UUID].UUIDString; //对象名
  77. request.objectCopySource = objectCopySource; //源文件 URL 路径,可以通过 versionid 子资源指定历史版本
  78. [request setFinishBlock:^(QCloudCopyObjectResult* result, NSError* error) {
  79. //additional actions after finishing
  80. }];
  81. [[QCloudCOSXMLService defaultCOSXML] PutObjectCopy:request];
  82. @endcode
  83. */
  84. #import "QCloudPutObjectCopyRequest.h"
  85. /**
  86. 查询存储桶(Bucket) 下的部分或者全部对象的方法.
  87. COS 支持列出指定 Bucket 下的部分或者全部对象.
  88. 每次默认返回的最大条目数为 1000 条.
  89. 如果无法一次返回所有的对象,则返回结果中的 IsTruncated 为 true,同时会附加一个 NextMarker 字段,提示下 一个条目的起点.
  90. 若一次请求,已经返回了全部对象,则不会有 NextMarker 这个字段,同时 IsTruncated 为 false.
  91. 若把 prefix 设置为某个文件夹的全路径名,则可以列出以此 prefix 为开头的文件,即该文件 夹下递归的所有文件和子文件夹.
  92. 如果再设置 delimiter 定界符为 “/”,则只列出该文件夹下的文件,子文件夹下递归的文件和文件夹名 将不被列出.而子文件夹名将会以 CommonPrefix 的形式给出.
  93. 关于查询Bucket 下的部分或者全部对象接口的具体描述,请查看https://cloud.tencent.com/document/product/436/7734.
  94. cos iOS SDK 中查询 Bucket 下的部分或者全部对象的方法具体步骤如下:
  95. 1. 实例化 QCloudGetBucketRequest,填入需要的参数。
  96. 2. 调用 QCloudCOSXMLService 对象中的 GetBucket 方法发出请求。
  97. 3. 从回调的 finishBlock 中的 QCloudListBucketResult 获取具体内容。
  98. 示例:
  99. @code
  100. QCloudGetBucketRequest* request = [QCloudGetBucketRequest new];
  101. request.bucket = @“testBucket-123456789”; //存储桶名称(cos v5 的 bucket格式为:xxx-appid, 如 test-1253960454)
  102. request.maxKeys = 1000;
  103. [request setFinishBlock:^(QCloudListBucketResult * result, NSError* error) {
  104. //additional actions after finishing
  105. }];
  106. [[QCloudCOSXMLService defaultCOSXML] GetBucket:request];
  107. @endcode
  108. */
  109. #import "QCloudGetBucketRequest.h"
  110. #import "QCloudGetBucketACLRequest.h"
  111. #import "QCloudGetBucketCORSRequest.h"
  112. #import "QCloudGetBucketLocationRequest.h"
  113. #import "QCloudPutBucketACLRequest.h"
  114. #import "QCloudPutBucketCORSRequest.h"
  115. #import "QCloudDeleteBucketCORSRequest.h"
  116. #import "QCloudListBucketMultipartUploadsRequest.h"
  117. #import "QCloudOptionsObjectRequest.h"
  118. #import "QCloudHeadBucketRequest.h"
  119. #import "QCloudCOSXMLEndPoint.h"
  120. #import "QCloudPutBucketRequest.h"
  121. #import "QCloudDeleteBucketRequest.h"
  122. #import "QCloudLifecycleConfiguration.h"
  123. #import "QCloudLifecycleRule.h"
  124. #import "QCloudPutBucketLifecycleRequest.h"
  125. #import "QCloudGetBucketLifecycleRequest.h"
  126. #import "QCloudDeleteBucketLifeCycleRequest.h"
  127. #import "QCloudPutBucketVersioningRequest.h"
  128. #import "QCloudGetBucketVersioningRequest.h"
  129. #import "QCloudBucketReplicationConfiguation.h"
  130. #import "QCloudPutBucketReplicationRequest.h"
  131. #import "QCloudGetBucketReplicationRequest.h"
  132. #import "QCloudDeleteBucketReplicationRequest.h"
  133. #import "QCloudGetServiceRequest.h"
  134. //分块copy
  135. #import "QCloudUploadPartCopyRequest.h"
  136. #import "QCloudCOSXMLCopyObjectRequest.h"
  137. #import "QCloudPostObjectRestoreRequest.h"
  138. #import "QCloudRestoreRequest.h"
  139. #import "QCloudListObjectVersionsRequest.h"
  140. #import "QCloudGetPresignedURLRequest.h"
  141. #endif /* QCloudCOSXML_h */