QNUploadOption.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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: 开头
  28. */
  29. @property (copy, nonatomic, readonly) NSDictionary *params;
  30. /**
  31. * 指定文件的mime类型
  32. */
  33. @property (copy, nonatomic, readonly) NSString *mimeType;
  34. /**
  35. * 是否进行crc校验
  36. */
  37. @property (readonly) BOOL checkCrc;
  38. /**
  39. * 进度回调函数
  40. */
  41. @property (copy, readonly) QNUpProgressHandler progressHandler;
  42. /**
  43. * 中途取消函数
  44. */
  45. @property (copy, readonly) QNUpCancellationSignal cancellationSignal;
  46. /**
  47. * 可选参数的初始化方法
  48. *
  49. * @param mimeType mime类型
  50. * @param progress 进度函数
  51. * @param params 自定义服务器回调参数
  52. * @param check 是否进行crc检查
  53. * @param cancellation 中途取消函数
  54. *
  55. * @return 可选参数类实例
  56. */
  57. - (instancetype)initWithMime:(NSString *)mimeType
  58. progressHandler:(QNUpProgressHandler)progress
  59. params:(NSDictionary *)params
  60. checkCrc:(BOOL)check
  61. cancellationSignal:(QNUpCancellationSignal)cancellation;
  62. - (instancetype)initWithProgessHandler:(QNUpProgressHandler)progress DEPRECATED_ATTRIBUTE;
  63. - (instancetype)initWithProgressHandler:(QNUpProgressHandler)progress;
  64. /**
  65. * 内部使用,默认的参数实例
  66. *
  67. * @return 可选参数类实例
  68. */
  69. + (instancetype)defaultOptions;
  70. @end