小文件下载
- 小文件下载步骤
- 发送网络请求
- 实现小文件下载方法
- 小文件下载方法(仅提供每类最常用方法介绍):
- 直接通过NSData下载网络资源
- 通过NSURLSessionDataTask下载
3. 通过NSURLConnection,发送异步-主队列请求,下载完毕后实现UI刷新(过期不用,了解需要时备查)
- 第一种方式(NSData)
//使用NSDta直接加载网络上的url资源(不考虑线程)
##核心代码
//1. 根据URL加载对应的资源
NSData *data = [NSData dataWithContentsOfURL:url];
//2. 转换并显示数据
UIImage *image = [UIImage imageWithData:data];
self.imageView.image = image;
- 第二种方式(NSURLSessionDataTask-block)
//1.设置请求路径
NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/login?username=ss&pwd=ss&type=JSON"];
//2.根据路径设置请求对象-get请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
//3..创建NSURLSession对象(可以获取单例对象)
NSURLSession *session = [NSURLSession sharedSession];
//4..根据NSURLSession对象创建一个Task
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {//6.回到主线程刷新UI//5..执行Task
//注意:刚创建出来的task默认是挂起状态的,需要调用该方法来启动任务(执行任务)
[dataTask resume];
【小文件下载】3 第三种方式(NSURLConnection-sendAsync)
//使用NSURLConnection发送异步请求下载文件资源
##核心代码
//使用NSURLConnection发送一个异步请求
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
//4.拿到并处理数据
UIImage *image = [UIImage imageWithData:data];
self.imageView.image = image;
}];
推荐阅读
- 一个小故事,我的思考。
- 家乡的那条小河
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 昨夜小楼听风
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2019.4.18感恩日记
- 那件我们忽略的小事叫感恩
- 你有婚内虐待行为吗()