VODUploadClient.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. //
  2. // VODUploadClient.h
  3. // VODUpload
  4. //
  5. // Created by Leigang on 16/3/28.
  6. // Copyright © 2016年 Leigang. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "VODUploadModel.h"
  10. @interface VODUploadClient : NSObject
  11. /**
  12. transcode default value is YES
  13. */
  14. @property (nonatomic, assign) BOOL transcode;
  15. /**
  16. Max retry count, default value is INT_MAX
  17. Client will retry automatically in every 2 seconds when network is unavailable
  18. */
  19. @property (nonatomic, assign) uint32_t maxRetryCount;
  20. /**
  21. Sets single object download's max time
  22. */
  23. @property (nonatomic, assign) NSTimeInterval timeoutIntervalForRequest;
  24. /**
  25. directory path about create record uploadId file
  26. */
  27. @property (nonatomic, copy) NSString * recordDirectoryPath;
  28. /**
  29. record upload progress, default value if YES
  30. */
  31. @property (nonatomic, assign) BOOL recordUploadProgress;
  32. /**
  33. size of upload part, default value is 1024 * 1024
  34. */
  35. @property (nonatomic, assign) NSInteger uploadPartSize;
  36. /**
  37. requestId
  38. */
  39. @property (nonatomic, copy) NSString *requestId;
  40. /**
  41. vod region, defalut value is "cn-shanghai"
  42. */
  43. @property (nonatomic, copy) NSString *region;
  44. /**
  45. App id
  46. */
  47. @property (nonatomic, copy) NSString* appId;
  48. /**
  49. workflow id
  50. */
  51. @property (nonatomic, copy) NSString* workflowId;
  52. /**
  53. report enabled
  54. */
  55. @property (nonatomic, assign) BOOL reportEnabled;
  56. /**
  57. 上传地址和凭证方式初始化
  58. @deprecated 使用`setListener:`方法
  59. */
  60. - (BOOL) init:(VODUploadListener *) listener __attribute__((deprecated("This method is conflict with swift initialization method, use `setListener:` instead.")));
  61. /**
  62. 上传地址和凭证方式初始化
  63. */
  64. - (BOOL) setListener:(VODUploadListener *) listener;
  65. /**
  66. STS授权方式初始化
  67. @deprecated 使用`setKeyId: accessKeySecret: secretToken: expireTime: listener:`方法
  68. */
  69. - (BOOL) init:(NSString *)accessKeyId
  70. accessKeySecret:(NSString *)accessKeySecret
  71. secretToken:(NSString *)secretToken
  72. expireTime:(NSString *)expireTime
  73. listener:(VODUploadListener *) listener __attribute__((deprecated("This method is conflict with swift initialization method, use `setKeyId: accessKeySecret: secretToken: expireTime: listener:` instead.")));
  74. /**
  75. STS授权方式初始化
  76. */
  77. - (BOOL) setKeyId:(NSString *)accessKeyId
  78. accessKeySecret:(NSString *)accessKeySecret
  79. secretToken:(NSString *)secretToken
  80. expireTime:(NSString *)expireTime
  81. listener:(VODUploadListener *) listener;
  82. /**
  83. AK方式初始化
  84. 端上使用AK方式不安全,不建议使用
  85. */
  86. - (BOOL) init:(NSString *)accessKeyId
  87. accessKeySecret:(NSString *)accessKeySecret
  88. listener:(VODUploadListener *) listener __attribute__((deprecated("", "Not recommended.")));
  89. /**
  90. AK方式初始化
  91. 端上使用AK方式不安全,不建议使用
  92. */
  93. - (BOOL) setKeyId:(NSString *)accessKeyId
  94. accessKeySecret:(NSString *)accessKeySecret
  95. listener:(VODUploadListener *) listener __attribute__((deprecated("", "Not recommended.")));
  96. /**
  97. 添加视频上传
  98. */
  99. - (BOOL)addFile:(NSString *)filePath
  100. vodInfo:(VodInfo *)vodInfo;
  101. /**
  102. 添加流上传
  103. */
  104. - (BOOL)addStreamFile:(UploadStreamFileInfo *)fileInfo;
  105. /**
  106. 添加视频上传
  107. */
  108. - (BOOL)addFile:(NSString *)filePath
  109. endpoint:(NSString *)endpoint
  110. bucket:(NSString *)bucket
  111. object:(NSString *)object;
  112. /**
  113. 添加视频上传
  114. */
  115. - (BOOL)addFile:(NSString *)filePath
  116. endpoint:(NSString *)endpoint
  117. bucket:(NSString *)bucket
  118. object:(NSString *)object
  119. vodInfo:(VodInfo *)vodInfo;
  120. /**
  121. 删除文件
  122. */
  123. - (BOOL)deleteFile:(int) index;
  124. /**
  125. 清除上传列表
  126. */
  127. - (BOOL)clearFiles;
  128. /**
  129. 获取上传文件列表
  130. */
  131. - (NSMutableArray<UploadFileInfo *> *)listFiles;
  132. /**
  133. 取消单个文件上传,文件保留在上传列表中
  134. */
  135. - (BOOL)cancelFile:(int)index;
  136. /**
  137. 恢复已取消的上传文件
  138. */
  139. - (BOOL)resumeFile:(int)index;
  140. /**
  141. 开始上传
  142. */
  143. - (BOOL)start;
  144. /**
  145. 停止上传
  146. */
  147. - (BOOL)stop;
  148. /**
  149. 暂停上传
  150. */
  151. - (BOOL)pause;
  152. /**
  153. 恢复上传
  154. */
  155. - (BOOL)resume;
  156. /**
  157. 使用上传凭证恢复上传
  158. */
  159. - (BOOL)resumeWithAuth:(NSString *)uploadAuth;
  160. /**
  161. 使用STS恢复上传
  162. */
  163. - (BOOL)resumeWithToken:(NSString *)accessKeyId
  164. accessKeySecret:(NSString *)accessKeySecret
  165. secretToken:(NSString *)secretToken
  166. expireTime:(NSString *)expireTime;
  167. /**
  168. 设置上传地址和凭证
  169. */
  170. - (BOOL)setUploadAuthAndAddress:(UploadFileInfo *)uploadFileInfo
  171. uploadAuth:(NSString *)uploadAuth
  172. uploadAddress:(NSString *)uploadAddress;
  173. @end