WSDownloadSession.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // HSNSURLSession.h
  3. // HSDownloadManagerExample
  4. //
  5. // Created by hans on 15/8/4.
  6. // Copyright © 2015年 hans. All rights reserved.
  7. //
  8. #warning 抛出401错误时重新获取url.
  9. /**
  10. 待进一步完善(分段下载,range->byte:A-B)
  11. */
  12. typedef void (^DownloadProgressBlock)(NSInteger receivedSize, NSInteger expectedSize, CGFloat progress,NSString *router,NSString *msgUUID);
  13. typedef void (^DownloadSuccessBlock)(NSInteger receivedSize, NSString *localFullFileRouter,NSString *msgUUID);
  14. typedef void (^DownloadFailedBlock)(NSString* errMessage,NSString *msgUUID);
  15. #import <UIKit/UIKit.h>
  16. @interface WSDownloadSession : NSObject
  17. /**
  18. * for db->move to last page.
  19. */
  20. //@property (nonatomic , strong) DownloadProgressBlock downloadProgressDBBlock;
  21. //
  22. //@property (nonatomic , strong) DownloadSuccessBlock downloadSuccessDBBlock;
  23. //
  24. //@property (nonatomic , strong) DownloadFailedBlock downloadFailedDBBlock;
  25. /**
  26. * for ui
  27. */
  28. @property (nonatomic , strong) DownloadProgressBlock downloadProgressBlock;
  29. @property (nonatomic , strong) DownloadSuccessBlock downloadSuccessBlock;
  30. @property (nonatomic , strong) DownloadFailedBlock downloadFailedBlock;
  31. //local path为文件的前一个文件夹, 比如 cloudstorage/A/文件. 如果没有则直接放在cloudstorage上,否则创建某个文件夹,再放入文件.
  32. + (id)oneDownloadSessionWithFileUrlString:(NSString *)downloadUrl savePath:(NSString *)path localPath:(NSString *)localPath fileMd5:(NSString *)md5 UUID:(NSString *)uuid fileName:(NSString *)fileName downloadedSize:(NSInteger)downloadedSize fileSize:(NSInteger)fileSize progressblock:(DownloadProgressBlock)progressBlock successblock:(DownloadSuccessBlock)successblock failedBlock:(DownloadFailedBlock)failedBlock;
  33. - (void)cancer;
  34. @end