美文网首页
iOS之AFNetworking:网络请求资源下载至本地

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

作者: smile刺客 | 来源:发表于2017-04-05 16:05 被阅读0次

    首先大家要导包儿, 在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];

    相关文章

      网友评论

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

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