AF3.0.4如何实现文件下载和保存

2025-11-20 08:13:19

1、工程导入AFNetworking3.0.4库之后,新建NetWorkingManager类继承于AFHTTPSessionManager,然后导入AFNetworking.h头文件,如下:

AF3.0.4如何实现文件下载和保存

AF3.0.4如何实现文件下载和保存

2、在NetWorkingManager.h文件中声明外部调用方法:

- (void )downLoadFileWithUrl:(NSString *)url progress:(BlockProgress )progressBlock completionBlock:(void (^)(NSURLResponse *response, NSURL *filePath, NSError *error))block;

url:为下载的url。

progress:为下载的回调进度。

block:为回调信息block。

AF3.0.4如何实现文件下载和保存

3、在NetWorkingManager.m里面定义AFHTTPSessionManager实例化方法,方便其他的方法进行参数设置,如下:

AF3.0.4如何实现文件下载和保存

4、实例化AFHTTPSessionManager获取到sessionManager,使用NSURLRequest获取到request,如下:

AFHTTPSessionManager *sessionManager = [self requestBaseHttp];

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];

AF3.0.4如何实现文件下载和保存

5、AF使用downloadTaskWithRequest方法进行下载,如下:

[sessionManager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {

        

    } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {

        

    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {

       

    }];

AF3.0.4如何实现文件下载和保存

6、destination下必须设置下载保存的路径,如下:

NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];

        return [NSURL URLWithString:filePath];

在completionHandler回调中filePath即为下载保存的文件路径,使用下载的文件从filePath下读取即可,如下:

AF3.0.4如何实现文件下载和保存

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢