美文网首页IOS 技术杂项文章iOS DeveloperiOS 开发
iOS之AFNetworking:网络请求资源下载至本地

iOS之AFNetworking:网络请求资源下载至本地

作者: 一只不靠谱的猿_ | 来源:发表于2016-05-03 20:48 被阅读1176次
    • 首先大家要导包儿, 在GitHub上面可以找到


    • 话不多说直接上干货儿, 具体细节小编全在代码中标注:

        //构造资源链接
        NSString *urlString = @"http://img1.sc115.com/uploads/sc/jpg/HD/1/204.jpg";
        NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
        //创建AFN的manager对象
        AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];
        //构造URL对象
        NSURL *url = [NSURL URLWithString:urlString];
        //构造request对象
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
        //使用系统类创建downLoad Task对象
        NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
            NSLog(@"%@", downloadProgress);//下载进度
        } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
            //返回下载到哪里(返回值是一个路径)
            //拼接存放路径
            NSURL *pathURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:nil];
            return [pathURL URLByAppendingPathComponent:[response suggestedFilename]];
        } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
            //下载完成走这个block
            if (!error)
            {
                //如果请求没有错误(请求成功), 则打印地址
                NSLog(@"%@", filePath);
            }
        }];
        //开始请求
        [task resume];
      

    相关文章

      网友评论

      • LD_左岸:completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
        //下载完成走这个block
        if (!error)
        {
        //如果请求没有错误(请求成功), 则打印地址
        NSLog(@"%@", filePath);
        }
        }];
        //开始请求
        [task resume];

        如果有Error是不是就下载失败了 怎么处理呢??
      • 哈哈大笑呼呼呼呼:大神,你好,你的这个支持 后台下载的吗,就是进入后台继续下载?

      本文标题:iOS之AFNetworking:网络请求资源下载至本地

      本文链接:https://www.haomeiwen.com/subject/kdkrrttx.html