iOS AFNetworking下载文件
来源:互联网 发布:淘宝评论在哪里 编辑:程序博客网 时间:2024/04/29 00:49
1.
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; NSURL *URL = [NSURL URLWithString:strUrl]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; NSProgress *progress = nil; NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:&progress destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) { return [NSURL fileURLWithPath:destFile]; } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { __strong typeof(self) strongSelf = weakSelf; if (nil != error) { completionBlk(destFile, NO, context); } else { if (DMSTKAudioCacheTypeAudio == cacheType) { [strongSelf insertAudioDataWithFilePath:name fileSize:response.expectedContentLength createDate:[NSDate date]]; } else if (DMSTKAudioCacheTypeLyrics == cacheType) { [strongSelf insertLrcDataWithFilePath:name fileSize:response.expectedContentLength createDate:[NSDate date]]; } completionBlk(destFile, YES, context); } }]; [downloadTask resume];
2. 下载进度
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; operation.inputStream = [NSInputStream inputStreamWithURL:url]; operation.outputStream = [NSOutputStream outputStreamToFileAtPath:destFile append:NO]; //下载进度控制 [operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) { float progress = (float)totalBytesRead / totalBytesExpectedToRead; if (nil != progressBlk) { progressBlk(destFile, progress, context); } if (totalSize <= 0) { totalSize = totalBytesExpectedToRead; } }]; //已完成下载 [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { __strong typeof(self) strongSelf = weakSelf; //... if (nil != completionBlk) { completionBlk(destFile, YES, context); } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { if (nil != completionBlk) { completionBlk(destFile, NO, context); } }]; [operation start];
0 0
- iOS AFNetworking下载文件
- IOS AFNetWorking 下载文件 断点续传
- iOS AFNetWorking文件断点下载
- IOS AFNetWorking 下载文件 断点续传
- 【iOS】AFNetworking断点下载
- iOS afnetworking 后台下载
- AFNetworking 下载文件方法
- 使用AFNetworking下载文件
- 利用AFNetworking下载文件
- AFNetworking下载文件
- 使用AFNetworking下载文件
- 用AFNetWorking下载文件
- iOS-利用AFNetworking(AFN 1.x)-实现文件断点下载
- iOS- 利用AFNetworking(AFN) 1.1.0- 实现文件断点下载
- iOS- 利用AFNetworking(AFN) 1.1.0- 实现文件断点下载
- IOS分别利用NSURLSession和AFNetworking实现下载文件
- iOS- 利用AFNetworking(AFN) - 实现文件断点下载
- iOS- 利用AFNetworking(AFN) - 实现文件断点下载
- Spring注解Annotion详解
- 使用zlib解压标准zip文件
- 怎么检查电路原理图
- 黑马程序员---jdk1.5的一些新特性
- 思贝克商城教您如何选择轴承润滑脂
- iOS AFNetworking下载文件
- 五十七 K歌之王 (第一部完结)
- VNC配置Linux远程桌面
- html/css编写规范
- NSProxy实现AOP方便为ios应用实现异常处理策略
- route
- javascript Split 简明用法
- 今日知识点
- 常用的类,包,接口,各5个