小文件下载

  • 小文件下载步骤
    • 发送网络请求
    • 实现小文件下载方法
  • 小文件下载方法(仅提供每类最常用方法介绍):
    1. 直接通过NSData下载网络资源
    2. 通过NSURLSessionDataTask下载
    3. 通过NSURLConnection,发送异步-主队列请求,下载完毕后实现UI刷新(过期不用,了解需要时备查)
  1. 第一种方式(NSData)
//使用NSDta直接加载网络上的url资源(不考虑线程) ##核心代码 //1. 根据URL加载对应的资源 NSData *data = [NSData dataWithContentsOfURL:url]; //2. 转换并显示数据 UIImage *image = [UIImage imageWithData:data]; self.imageView.image = image;

  1. 第二种方式(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; }];

    推荐阅读