QNUploadOption.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //
  2. // QNUploadOption.h
  3. // QiniuSDK
  4. //
  5. // Created by bailong on 14/10/4.
  6. // Copyright (c) 2014年 Qiniu. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. /**
  10. * 上传进度回调函数
  11. *
  12. * @param key 上传时指定的存储key
  13. * @param percent 进度百分比
  14. */
  15. typedef void (^QNUpProgressHandler)(NSString *key, float percent);
  16. /**
  17. * 上传中途取消函数
  18. *
  19. * @return 如果想取消,返回True, 否则返回No
  20. */
  21. typedef BOOL (^QNUpCancellationSignal)(void);
  22. /**
  23. * 可选参数集合,此类初始化后sdk上传使用时 不会对此进行改变;如果参数没有变化以及没有使用依赖,可以重复使用。
  24. */
  25. @interface QNUploadOption : NSObject
  26. /**
  27. * 用于服务器上传回调通知的自定义参数,参数的key必须以x: 开头 eg: x:foo
  28. */
  29. @property (copy, nonatomic, readonly) NSDictionary *params;
  30. /**
  31. * 用于设置meta数据,参数的key必须以x-qn-meta- 开头 eg: x-qn-meta-key
  32. */
  33. @property (copy, nonatomic, readonly) NSDictionary *metaDataParam;
  34. /**
  35. * 指定文件的mime类型
  36. */
  37. @property (copy, nonatomic, readonly) NSString *mimeType;
  38. /**
  39. * 是否进行crc校验
  40. */
  41. @property (readonly) BOOL checkCrc;
  42. /**
  43. * 进度回调函数
  44. */
  45. @property (copy, readonly) QNUpProgressHandler progressHandler;
  46. /**
  47. * 中途取消函数
  48. */
  49. @property (copy, readonly) QNUpCancellationSignal cancellationSignal;
  50. /**
  51. * 可选参数的初始化方法
  52. *
  53. * @param mimeType mime类型
  54. * @param progress 进度函数
  55. * @param params 自定义服务器回调参数 参数的key必须以x: 开头 eg: x:foo
  56. * @param check 是否进行crc检查
  57. * @param cancellation 中途取消函数
  58. *
  59. * @return 可选参数类实例
  60. */
  61. - (instancetype)initWithMime:(NSString *)mimeType
  62. progressHandler:(QNUpProgressHandler)progress
  63. params:(NSDictionary *)params
  64. checkCrc:(BOOL)check
  65. cancellationSignal:(QNUpCancellationSignal)cancellation;
  66. /**
  67. * 可选参数的初始化方法
  68. *
  69. * @param mimeType mime类型
  70. * @param progress 进度函数
  71. * @param params 自定义服务器回调参数 参数的key必须以x: 开头 eg: x:foo
  72. * @param metaDataParams 设置meta数据,参数的key必须以x-qn-meta- 开头 eg: x-qn-meta-key
  73. * @param check 是否进行crc检查
  74. * @param cancellation 中途取消函数
  75. *
  76. * @return 可选参数类实例
  77. */
  78. - (instancetype)initWithMime:(NSString *)mimeType
  79. progressHandler:(QNUpProgressHandler)progress
  80. params:(NSDictionary *)params
  81. metaDataParams:(NSDictionary *)metaDataParams
  82. checkCrc:(BOOL)check
  83. cancellationSignal:(QNUpCancellationSignal)cancellation;
  84. - (instancetype)initWithProgressHandler:(QNUpProgressHandler)progress;
  85. /**
  86. * 内部使用,默认的参数实例
  87. *
  88. * @return 可选参数类实例
  89. */
  90. + (instancetype)defaultOptions;
  91. @end