1、文件下载
AFHTTPSessionManager *manager=[AFHTTPSessionManagermanager];
NSURLRequest *requestUrl=[NSURLRequestrequestWithURL:[NSURLURLWithString:url]];
NSURLSessionDownloadTask *task=[manager downloadTaskWithRequest:requestUrl progress:^(NSProgress *downloadProgress){
DLog(@"-下载进度---%f",downloadProgress.fractionCompleted);
dispatch_sync(dispatch_get_main_queue(), ^(){
[uiprogressviewsetProgress:downloadProgress.fractionCompletedanimated:YES];
});
} destination:^NSURL *(NSURL *targetPath, NSURLResponse *response){
return [NSURLfileURLWithPath:downloadpath_now];
} completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error){
DLog(@"----下载完成");
}];
[task resume];
2、post请求
AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];
manager.requestSerializer.timeoutInterval = 30;
manager.responseSerializer = [AFHTTPResponseSerializerserializer];
[manager POST:requestUrl parameters:nilconstructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
NSString *filePath=[parameters objectForKey:@"IMAGE"];
UIImage *image=[UIImageimageWithContentsOfFile:filePath];
NSData *imageData =UIImageJPEGRepresentation(image,1);
NSDateFormatter *formatter = [[NSDateFormatteralloc] init];
formatter.dateFormat =@"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDatedate]];
NSString *fileName = [NSStringstringWithFormat:@"%@.jpg", str];
//上传的参数(上传图片,以文件流的格式)
[formData appendPartWithFileData:imageData
name:@"IMAGE"
fileName:fileName
mimeType:@"image/jpeg"];
} progress:^(NSProgress *_Nonnull uploadProgress) {
//打印下上传进度
DLog(@"上传进度----%lld-",uploadProgress.completedUnitCount);
} success:^(NSURLSessionDataTask *_Nonnull task, id_Nullable responseObject) {
//上传成功
DLog(@"请求成功===response:%@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);
}else{
}
} failure:^(NSURLSessionDataTask *_Nullable task, NSError * _Nonnull error) {
//上传失败
}];
相关推荐
AFNetWroking3.0的demo,从官网上下载下来的
AFNetworking3.0
简单的实现了AFNetworking 3.0的图片上传功能
基于AFNetworking3.0以上版本所写的网络封装,将在开发中常用的API封装起来,在开发中就可以更简单地使用。 由于AFN2.0与AFN3.0的版本,有很大的变化,到现在才有时间基于AFN3.0写一个。代码不代表都合大家使用,...
iOS AFNetworking3.0支持ipv6
iOS 在AFNetWorking3.0 的基础进行了二次封装,并加入了Cookie的使用
AFNetworking3.0链式编程封装
基于AFNetworking3.0 封装的GET和POST请求 上传 下载
AFNetworking 3.0 源码解读 系列文章的整理全篇版,强烈推荐,分章可查看我的博客
最近很多人问一些基于AFNetworking3.0网络请求的封装,其实不用真的不用封装,唯一需要封装的地方就是客户端做缓存,统一把所有请求做了缓存接口。缓存用的是YYCache。基于AFNetworking的demo
https 具有更安全的特点。使用https就得先建立双向认证,客户端验证功能服务器的证书,服务器验证客户端的证书。本资源就是使用AFNetworking 3.0 版本的https双向认证配置
基于 AFNetworking3.0版本封装 ,只是简单封装并未做太多修改,保证了原汁原味的使用体验. 1 监听网络连接状态 2 POST 和 GET 请求 3 上传功能的实现. 自己项目中就在使用这个,感觉还可以,如果直接拿来用可能会...
根据AFNetworking3.0框架封装的,实现了GET、POST、PUT、DELETE、上传文件、下载文件、文件上传下载进度条等功能
一个不用和后端干架的HTTP(S)网络库,基于AFNetworking 3.0
Network, 根据AFNetworking3.0框架封装的,实现了GET、POST、PUT、DELETE、上传文件、下载文件、文件上传下载进度条等功能,同时支持IPv6。 为什么使用它? 1. 简单快捷,只需要一句代码即可请求网络和文件处理 2....
最近很多人问一些基于AFNetworking3.0网络请求的封装,其实不用真的不用封装,唯一需要封装的地方就是客户端做缓存,统一把所有请求做了缓存接口。缓存用的是YYCache。基于AFNetworking的demo 添加了设置超时时间...
iOSAFNetWorking3.0