QNUploadFileInfo.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //
  2. // QNUploadData.h
  3. // QiniuSDK_Mac
  4. //
  5. // Created by yangsen on 2020/4/30.
  6. // Copyright © 2020 Qiniu. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. @interface QNUploadData : NSObject
  11. /// 当前data偏移量
  12. @property(nonatomic, assign, readonly)long long offset;
  13. /// 当前data大小
  14. @property(nonatomic, assign, readonly)long long size;
  15. /// data下标 从1开始,兼容V2
  16. @property(nonatomic, assign, readonly)NSInteger index;
  17. /// data etag
  18. @property(nonatomic, copy, nullable)NSString *etag;
  19. /// 是否已完成上传
  20. @property(atomic, assign)BOOL isCompleted;
  21. /// 是否正在上传 【不进行离线缓存】
  22. @property(atomic, assign)BOOL isUploading;
  23. /// 上传进度 【不进行离线缓存】
  24. @property(nonatomic, assign)float progress;
  25. //MARK:-- 构造
  26. + (instancetype)dataFromDictionary:(NSDictionary *)dictionary;
  27. - (instancetype)initWithOffset:(long long)offset
  28. dataSize:(long long)dataSize
  29. index:(NSInteger)index;
  30. //MARK:-- logic
  31. - (BOOL)isFirstData;
  32. /// 转化字典
  33. - (NSDictionary *)toDictionary;
  34. /// 清除状态
  35. - (void)clearUploadState;
  36. @end
  37. @interface QNUploadFileInfo : NSObject
  38. // 文件大小
  39. @property(nonatomic, assign, readonly)long long size;
  40. // 文件修改时间
  41. @property(nonatomic, assign, readonly)NSInteger modifyTime;
  42. // 上传进度 【不进行离线缓存】
  43. @property(nonatomic, assign, readonly)float progress;
  44. //MARK:-- 构造
  45. + (instancetype)infoFromDictionary:(NSDictionary *)dictionary;
  46. //MARK:-- logic
  47. /// 清除所有块和分片上传状态信息
  48. - (void)clearUploadState;
  49. /// 所有的块是否都已经上传完毕
  50. - (BOOL)isAllUploaded;
  51. /// 是否有文件信息
  52. - (BOOL)isEmpty;
  53. /// 文件是否有效
  54. - (BOOL)isValid;
  55. /// 转化字典
  56. - (NSDictionary *)toDictionary;
  57. @end
  58. NS_ASSUME_NONNULL_END