AFNetworking下载文件断点续传操作

1 #pragma mark 断点续传下载; 
2 
3 //断点下载续传--需要服务器端的支持,本次测试为下载百度音乐,此接口,会在第二次暂停,继续下载时,出404错误; 
4 
5 //进度 
6 UIProgressView *downProgressView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleDefault]; 
7 downProgressView.center = CGPointMake(self.view.center.x, 20); 
8 downProgressView.progress = 0
9 downProgressView.progressTintColor = [UIColor blueColor]; 
10 downProgressView.trackTintColor = [UIColor grayColor]; 
11 [self.view addSubview:downProgressView]; 
12 
13 //开始 
14 UIButton *start = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
15 start.frame = CGRectMake(25, 40, 80, 30); 
16 [start setTitle:@"开始" forState:UIControlStateNormal]; 
17 [start addTarget:self action:@selector(startDownloadOp) forControlEvents:UIControlEventTouchUpInside]; 
18 
19 //暂停 
20 UIButton *pause = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
21 pause.frame = CGRectMake(125, 40, 80, 30); 
22 [pause setTitle:@"暂停" forState:UIControlStateNormal]; 
23 [pause addTarget:self action:@selector(pausetDownloadOp) forControlEvents:UIControlEventTouchUpInside]; 
24 25 //继续 
26 UIButton *resume = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
27 resume.frame = CGRectMake(220, 40, 80, 30); 
28 [resume setTitle:@"继续" forState:UIControlStateNormal]; 
29 [resume addTarget:self action:@selector(resumeDownloadOp) forControlEvents:UIControlEventTouchUpInside]; 
30 
31 [self.view addSubview:start]; 
32 [self.view addSubview:pause]; 
33 [self.view addSubview:resume]; 
34 
35 //文件名 
36 NSString *fileName = [NSString stringWithFormat:@"%@愿得一人听.mp3",NSTemporaryDirectory()]; 
37 NSLog(@"%@",fileName); 
38 
39 //下载 
40 NSURLRequest *downloadRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:MusicOne]]; 
41 self.downloadMusicOP = [[AFHTTPRequestOperation alloc]initWithRequest:downloadRequest]; 
42 _downloadMusicOP.outputStream = [NSOutputStream outputStreamToFileAtPath:fileName append:NO]; 
43 
44 [_downloadMusicOP setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) { 
45 CGFloat progress = ((float)totalBytesRead) / totalBytesExpectedToRead; 
46 [downProgressView setProgress:progress animated:YES]; 
47 start.enabled = NO; 
48 [start setTitle:@"下载中" forState:UIControlStateNormal]; 
49 }]; 
50 
51 [_downloadMusicOP setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
52 start.enabled = NO; 
53 [start setTitle:@"完成" forState:UIControlStateNormal]; 
54 NSLog(@"download finish"); 
55 NSLog(@"%@",[[NSFileManager defaultManager] contentsOfDirectoryAtPath:NSTemporaryDirectory() error:nil]); 
56 
57 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
58 NSLog(@"error %@",error); 59 }]; 
60 
61 
62 
63 
64 
65 
66 
67 #pragma mark AFNetworking 下载之断点续传; 
68 
69 - (void)startDownloadOp 
70 
71 [_downloadMusicOP start]; 
72 
73 
74 - (void)pausetDownloadOp 
75 
76 [_downloadMusicOP pause]; 
77 
78 
79 - (void)resumeDownloadOp 
80 
81 [_downloadMusicOP resume]; 
82 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值