美文网首页
网络请求

网络请求

作者: 英雄出少年 | 来源:发表于2019-04-23 11:26 被阅读0次
    • 下载进度
     NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
            
            NSLog(@"%f",1.0 * downloadProgress.completedUnitCount / downloadProgress.totalUnitCount);
            double progressValue = 1.0 * downloadProgress.completedUnitCount / downloadProgress.totalUnitCount;
            if (progress) progress(downloadProgress, progressValue);
            
        } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
            
            //- block的返回值, 要求返回一个URL, 返回的这个URL就是文件的位置的路径
            NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
            NSString *path = [cachesPath stringByAppendingPathComponent:response.suggestedFilename];
            
            return [NSURL fileURLWithPath:savedPath != nil ? savedPath : path];
            
        } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
            
            // filePath就是下载文件的位置,可以直接拿来使用
            NSData *data;
            if (!error) {
                data = [NSData dataWithContentsOfURL:filePath];
                NSLog(@"下载地址:%@",filePath);
            }
            if (complete) complete(data, error);
        }];
        
        //默认下载操作是挂起的,须先手动恢复下载。
        [downloadTask resume];
    }
    
    

    相关文章

      网友评论

          本文标题:网络请求

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