AFNetworking 3.0 断点续传 使用记录

最近项目中用到了压缩包下载,使用AFNetworking 3.0 下载压缩包 支持断点续传 代码如下:

#import "HDInternet_handler.h"
#import "AFNetworking.h"
#import "ASIHTTPRequest.h"

@interface HDInternet_handler ()<NSURLSessionDelegate>

@end

@implementation HDInternet_handler
{
    NSURLSessionDownloadTask *_downloadTask;
}

-(void)test
{
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];

    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];

    manager.requestSerializer.timeoutInterval = 3.0;

    [manager setDownloadTaskDidWriteDataBlock:^(NSURLSession * _Nonnull session, NSURLSessionDownloadTask * _Nonnull downloadTask, int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {

        LOG(@"%.2f / %.2f",(float)totalBytesWritten/1024.0/1024.0,(float)totalBytesExpectedToWrite/1024.0/1024.0);
    }];

    NSURL *URL = [NSURL URLWithString:@"http://192.168.10.155/12345/HD_DEMO_RES/CHINESE.zip"];//http://192.168.10.155/12345/HD_DEMO_RES/CHINESE.zip
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];

    _downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {

        NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSCachesDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
        return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]];
    } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {

    }];

    [_downloadTask resume];
    [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(suspend) userInfo:nil repeats:NO];
}

-(void)suspend
{
    //暂停下载
    [_downloadTask suspend];
    LOG(@"SUSPEND.....SUSPEND....SUSPEND....SUSPEND....SUSPEND....SUSPEND....");
    [NSTimer scheduledTimerWithTimeInterval:6.0 target:self selector:@selector(resume) userInfo:nil repeats:NO];
}

-(void)resume
{//继续下载
    [_downloadTask resume];
    LOG(@"RESUME.....RESUME.....RESUME.....RESUME.....RESUME.....RESUME.....RESUME.....");
}
时间: 2024-12-14 18:18:43

AFNetworking 3.0 断点续传 使用记录的相关文章

iOS开发 AFNetworking 3.0使用遇到的问题

前段时间写了一个iOS开发之AFNetworking 3.0.4使用这篇文章,是基本的用法,昨天在使用的时候又出现了几个问题,特地俩记录下,希望能帮到大家! 问题一 我是做一个获取手机验证码的功能,进行一个网络请求,验证码也发给我了,后台的也跟我说请求成功了,但是我这边打印信息显示直接进入了错误的回调...如下图: 验证码获取返回格式问题 报错说是返回类型不一致,后来查明原因,是返回的格式问题(虽然后台跟我说返回的json)需要添加上这么一句话: //如果报接受类型不一致请替换一致text/ht

AFNetworking 3.0迁移指南

AFNetworking是一款在OS X和iOS下都令人喜爱的网络库.为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持.如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession 的API的AFNetworking的版本.本指南将引导您完成这个过程. 本指南是为了引导使用AFNetworking 2.x升级到最新的版本API,以达到过渡的目的,并且解释了新增和更改的设计结构. 新设备要求: iO

AFNetworking 2.0 新特性讲解之AFHTTPSessionManager

AFNetworking 2.0 新特性讲解之AFHTTPSessionManager (2014-02-17 11:56:24) 转载▼     AFNetworking 2.0 相比1.0 API 接口改动还是很大的. 其中一个便是 AFURLSessionManager,当然如果你不太熟悉,或者为了兼容低版本,你依然可以选择AFHTTPRequestOperationManager,AFURLSessionManager是基于 NSURLSessionConfiguration(IOS 7

AFNetworking 3.0.4 的使用

AFNetworking 本文永久链接:http://www.cnblogs.com/qianLL/p/5342593.html pod 'AFNetworking', '~>3.0.4'    <-------第三方 具体他的pod的过过程 http://www.cnblogs.com/qianLL/p/5331624.html 代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

select2 4.0.3 空记录时的处理

使用select2插件,如果后台查找没有记录,不能返回null,要返回一个空数组,不然会报错:data is null 空数组形式为(firefox调试输出):{"items":[],"total_count":0} 完整使用记录如下: 前台html标记: <div class="form-group col-md-6"> <label for="supplier">供应商</label>

【IOS】AFNetworking 2.0中XML请求处理专题

AFNetworking 2.0中XML请求处理专题 1.1     XML请求处理 1.1.1  xml处理机制 因为AFNetworking2.0中,对于响应返回的xml格式没有做专门的解析处理,因此需要开发者自己来做处理.在笔者的项目中,使用了一个叫AFGDataXMLRequestOperation的第三方类库来统一处理. 该库的xml解析逻辑基于GDataXML-HTML类库.不过类库处理逻辑应该还是基于AFNetworking 1.0版本,有两处需要做适配修改,不然调试不过: 1.在

Hadoop2.2.0安装过程记录

1    安装环境1.1    客户端1.2    服务端1.3    安装准备    2    操作系统安装2.1.1    BIOS打开虚拟化支持2.1.2    关闭防火墙2.1.3    安装VNC3    JAVA安装    3.1    配置目的3.2    配置过程3.3    结果验证4    主机名配置4.1    配置目的4.2    配置过程4.3    结果验证5    增加hadoop用户5.1    配置目的5.2    配置过程5.3    结果验证6    Had

iOS 8:【转】AFNetworking 2.0

源地址:http://nshipster.cn/afnetworking-2/ AFNetworking 是当前 iOS 和 OS X 开发中最广泛使用的开源项目之一.它帮助了成千上万叫好又叫座的应用,也为其它出色的开源库提供了基础.这个项目是社区里最活跃.最有影响力的项目之一,拥有 8700 个 star.2200 个 fork 和 130 名贡献者. 从各方面来看,AFNetworking 几乎已经成为主流. 但你有没有听说过它的新版呢? AFNetworking 2.0. 这一周的 NSH

开源 免费 java CMS - FreeCMS2.0 会员积分记录

项目地址:http://www.freeteam.cn/ 积分记录 从左侧管理菜单点击积分记录进入.在这里可以查看当前登录会员的所有积分记录. 开源 免费 java CMS - FreeCMS2.0 会员积分记录