一 概述

  • AFN如何下载文件
  • AFN下载文件示例

二 AFN如何下载文件

2.1 AFN下载文件的过程

  • 创建AFURLSessionManager或AFHTTPSessionManager
  • Manager执行downloadTask方法
  • 调用downloadTask resume执行下载任务

2.2 创建Manager

方法一

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];

方法二

AFHTTPSessionManager *mgr=[AFHTTPSessionManager manager];

2.3 downloadTask

downloadTaskWithRequest

[mgr downloadTaskWithRequest:request progress:nil destination:destPaht completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {}];

downloadTaskWithResumeData

[mgr downloadTaskWithResumeData:data progress:nil destination:destPath completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {}];

三 AFN下载文件示例

3.1 代码

-(void)HttpManagerDownload
{NSURL *url=[NSURL URLWithString:@"http://localhost:8080//MJServer/resources/videos/minion_01.mp4"];//2-请求NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];AFHTTPSessionManager *mgr=[AFHTTPSessionManager manager];NSURLSessionDownloadTask *task= [mgr downloadTaskWithRequest:request progress:nil destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {NSURL *cacheURL= [[[NSFileManager defaultManager]URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask]lastObject];return [cacheURL URLByAppendingPathComponent:[response suggestedFilename]];} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {NSLog(@"File downloaded to: %@", filePath);}];[task resume];
}

3.2 执行结果

2022-03-20 14:02:43.197326+0800 AFN-Demo1[18193:292275] File downloaded to: file:///Users/zxc/Library/Developer/CoreSimulator/Devices/FA145B46-0D5E-4C75-87A3-39AB48C1A87A/data/Containers/Data/Application/B213C405-2E7C-48FC-9D6D-58FDD4C18A49/Library/Caches/minion_01.mp4

IOS开发之——AFN-文件下载(03)相关推荐

  1. 文顶顶iOS开发博客链接整理及部分项目源代码下载

    网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程却很难找.如果你是初学者,在学习了斯坦福iOS7公开课 ...

  2. iOS开发常用之网络、网页

    网络相关 网络连接 AFNetworking - ASI不升级以后,最多人用的网络连接开源库,iOS的网络编程之AFNetworking使用,iOS的开发下载文件速度计算 , AFNetworking ...

  3. iOS开发网络篇—使用ASI框架进行文件下载

    iOS开发网络篇-使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: 1 #import "YYView ...

  4. IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天

    IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天 视频资料是2015年的,但是AFN是导入框架的关键文件,我尝试使用cocoapods安装最新的AFN,虽然成功了,但是版本太高, ...

  5. iOS开发 01-前言 03前景和难易度分析

    本文目录 一.iOS开发的前景 二.iOS开发的难易度 这讲继续介绍iOS初学者比较感兴趣的问题:iOS开发的前景如何.iOS开发的难易度.要想分析iOS开发的前景,首先你要搞清楚是哪个牛X公司在维护 ...

  6. iOS开发第三方大全

    UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...

  7. iOS开发之资料收集

    github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github ...

  8. iOS:iOS开发非常全的三方库、插件、大牛博客等等

    iOS开发非常全的三方库.插件.大牛博客等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章 ...

  9. iOS开发常用三方库、插件、知名博客

    TimLiu-iOS iOS开发常用三方库.插件.知名博客等等,期待大家和我们一起共同维护,同时也期望大家随时能提出宝贵的意见(直接提交Issues即可). 持续更新... 版本:Objective- ...

  10. iOS 开发的资源整理

    本文整理了常用的iOS.mac开源项目及类库,是开发者必备的一份资料,现在分享给广大的iOS程序员兄弟们,希望给他们的开发工作带来帮助. UI 下拉刷新 EGOTableViewPullRefresh ...

最新文章

  1. Xshell 配置是vi显示多种颜色
  2. Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别
  3. WinForm资源文件使用
  4. Android开发之JNI(一)--HelloWorld及遇到的错误解析
  5. PHP实现redis限制单ip、单用户的访问次数功能
  6. RocketMq重试及消息不丢失机制
  7. python简单命令语句_Python语言----linux常用命令(13)
  8. stats | 线性回归(一)——模型表达式和输出结果
  9. 【恋上数据结构】布隆过滤器(Bloom Filter)原理及实现
  10. 词汇表生成(C语言)
  11. 统计 GitHub 评分、收录有意思的 README,GitHub 热点速览
  12. ElasticFusion: Real-Time Dense SLAM and Light Source Estimation
  13. caffe测试单张图片
  14. 惠斯通电桥平衡条件推导
  15. 测量电源纹波-正确测量方法
  16. python寻峰算法_python/scipy的寻峰算法
  17. MySQL数据库数据传到Excel
  18. Portainer添加远程Docker(Docker API)
  19. perl中bless的理解
  20. Codevs 6个朋友

热门文章

  1. 论文管理:zotero的安装和插件使用
  2. 被 YYUC $is_developing 害惨了.
  3. 安装了汉化包,svn却没有汉化
  4. PCB Dk、Df和介质损耗
  5. 三十三.智能驾驶之多传感器融合技术: AVOD融合方法
  6. 【书】软件设计师教程(第4版)(百度云免费下载链接)
  7. 人口logistic模型公式_人口指数增长模型和Logistic模型
  8. vue axios ts 封装流文件下载方法
  9. 同时安装vs2005团队开发版和sql 2005企业版
  10. m6000查看端口状态_M6000日常查看维护命令.doc