/**
* 下载文件
*
* @param URL 下载文件的地址
* @param parameterDic 参数
* @param progress 下载的进度
* @param scuess 成功的回调
* @param faild 失败的回调
*
* @return task
*/
- (HLURLSessionTask *)downLoadWithURL:(NSString *)requestURL
parameterDic:(NSDictionary *)paramterDic
progress:(HLDownloadProgress)progress
scuess:(requestScuess)scuess
faild:(requestFaild)faild {
[self setRequestURL:requestURL];
requestURL = [self encodeURL:requestURL];
}
HLURLSessionTask *sessionTask = nil;
//构造资源链接
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
//创建AFN的manager对象
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];
//构造URL对象
NSURL *url = [NSURL URLWithString:requestURL];
//构造request对象
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
sessionTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull 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) {
if (error) {
//返回方法
if (faild) {
faild(error);
}
} else {
//请求成功返回数据
[self scuessResponse:response callback:scuess];
}
}];
[sessionTask resume];
return sessionTask;
}
* 下载文件
*
* @param URL 下载文件的地址
* @param parameterDic 参数
* @param progress 下载的进度
* @param scuess 成功的回调
* @param faild 失败的回调
*
* @return task
*/
- (HLURLSessionTask *)downLoadWithURL:(NSString *)requestURL
parameterDic:(NSDictionary *)paramterDic
progress:(HLDownloadProgress)progress
scuess:(requestScuess)scuess
faild:(requestFaild)faild {
[self setRequestURL:requestURL];
//是否需要对url进行转码
requestURL = [self encodeURL:requestURL];
}
HLURLSessionTask *sessionTask = nil;
//构造资源链接
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
//创建AFN的manager对象
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];
//构造URL对象
NSURL *url = [NSURL URLWithString:requestURL];
//构造request对象
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
sessionTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull 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) {
if (error) {
//返回方法
if (faild) {
faild(error);
}
} else {
//请求成功返回数据
[self scuessResponse:response callback:scuess];
}
}];
[sessionTask resume];
return sessionTask;
}