iOS开发(OC)——AFNetworking之文件下载
来源:互联网 发布:阿里云代金券出售 编辑:程序博客网 时间:2024/05/16 04:52
上一篇博文我介绍了文件的上传的实现,这里我介绍一下文件的下载
//urlString服务器地址
//callBack是我写的一个block回调函数,可把结果传到另一个类中进行使用,如果实在本页面处理则不用这个block
//block进度条的回调函数
//fBlock下载后的文件的路径的回调函数
+(void)fileDownLoadWirhUrl:(NSString *)urlString jsonDictionary:(CallBack)callBack currentProgress:(Progress)block filePath:(FilePath)fBlock{ NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:config]; urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; NSURLSessionDownloadTask *task=[manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) { //进度条 CGFloat progress=(CGFloat)downloadProgress.completedUnitCount/(CGFloat)downloadProgress.totalUnitCount;//运算符/,当两边都是整型时,得出的结果也是整型,所以要进行类型转换 block(progress); } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) { //返回存储位置,必须用response.suggestedFilename,不能自定义文件名 NSString *cacheDir = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0]; NSString *path = [cacheDir stringByAppendingPathComponent:response.suggestedFilename]; NSURL *fileURL = [NSURL fileURLWithPath:path]; fBlock(fileURL); return fileURL;//注意是URL类型 } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) { if(error){//失败 NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:error.debugDescription,@"info", nil]; callBack(info,FailedType); }else{//成功 //解析data NSDictionary *dict=[NSDictionary dictionary]; callBack(dict,SuccessType); } }]; [task resume];//注意不要漏}
0 0
- iOS开发(OC)——AFNetworking之文件下载
- iOS开发(OC)——AFNetworking之文件上传
- iOS开发(OC)——iOS原生API实现文件下载
- iOS AFNetworking下载文件
- iOS开发之网络开发——AFNetWorking
- iOS 开发-AFNetworking Block下载文件保存到沙盒
- IOS AFNetWorking 下载文件 断点续传
- iOS AFNetWorking文件断点下载
- IOS AFNetWorking 下载文件 断点续传
- IOS开发之OC篇(6)——NSFileManager文件管理器
- IOS开发之OC篇(7)——NSFileHandle文件操作对象
- iOS 开发之网络——文件上传&文件下载
- iOS-OC-AFNetworking上传和下载(回调下载进度)
- ios开发总结之文件下载(小文件下载)
- IOS开发总结之文件下载(大文件下载)
- IOS开发之OC篇(8)—— NSData
- IOS开发之OC篇(9)—— NSURL
- iOS开发之OC篇(10)—— NSDate
- Java内存区域分布
- Android 开源项目浅读-------SwipeMenuListView-重写,八章,菜单响应
- C++ 高级篇(二)—— 名空间 (Namespaces)
- C语言基本数据类型大小
- 【未解决】Ubuntu启动出现The system is running in low-graphics mode,以及no space left on device
- iOS开发(OC)——AFNetworking之文件下载
- C++ 高级篇(三)—— 出错处理
- 打印九九乘法表
- 钓鱼比赛
- 【蓝桥杯】回文数字
- 第十三周项目-项目2-(3)-动物这样叫
- c++实验6——数组合并
- C++ 高级篇(四)—— 类型转换高级
- margin还阔以设成负数