IOS 网络浅析-(十一 三方 AFNetworking3.0简介)
2024-10-10 06:27:22
AFNetworking3.0是目前最新的版本,本来打算介绍一下2.6,但是想想2.6名不久矣,就决定不介绍了,有兴趣的小伙伴可以上网查一查。下面我就开始进入正题了。
目前使用人数最多的第三方网络库,没有之一。从开始的NSURLConnection到现在的NSURLSession,它都一直保持着与苹果的步调一致,而由它也衍生出大量的相关第三方网络功能库,不仅仅因为他的可靠,好用,一直保持着维护更新,也是为什么它这么受到广大程序员的青睐。
上传data
//
// ViewController.m
// CX- AFNetworking3.0简介
//
// Created by ma c on 16/3/22.
// Copyright © 2016年 xubaoaichiyu. All rights reserved.
// #import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; [self upLoadData]; }
//上传data
-(void)upLoadData{ UIImage * image = [UIImage imageNamed:@"renminbi.jpg"]; NSData * data = UIImageJPEGRepresentation(image, ); AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
/*
POST 上传地址
parameters 文本参数
constructingBodyWithBlock 上传文件的block,有可能多次调用
progress 上传进度
success 上传成功
failure 上传失败
*/
[manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { /* formData 上传的数据 FileData 上传文件的data name 上传文件的key fileName 服务器上的名字 mimeType 上传资源的类型 */ [formData appendPartWithFileData:data name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg"]; } progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@"%@",uploadProgress); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"成功->%@",responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"失败->%@",error); }]; } @end
上传文件
//上传文件
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; /*
POST 上传地址
parameters 文本参数
constructingBodyWithBlock 上传文件的block,有可能多次调用
progress 上传进度
success 上传成功
failure 上传失败
*/
[manager POST:@"http://localhost/post/upload.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { /* formData 上传的数据 FileData 上传文件的data name 上传文件的key fileName 服务器上的名字 mimeType 上传资源的类型 */ NSURL * url = [[NSBundle mainBundle] URLForResource:@"renminbi.jpg" withExtension:nil]; [formData appendPartWithFileURL:url name:@"userfile00" fileName:@"xubaoaichiyu" mimeType:@"image/jpg" error:nil]; } progress:^(NSProgress * _Nonnull uploadProgress) { NSLog(@"%@",uploadProgress); } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"成功->%@",responseObject); } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"失败->%@",error); }];
Get
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { }];
Post
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; [manager POST:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { }];
GetXML
AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; [manager GET:@"http://localhost/post/upload.php" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { }];
最新文章
- C#数组的声明
- 二十三、Java基础--------网络编程
- BlocksKit初见:一个支持将delegate转换成block的Cocoa库
- SIP进行时
- POJ 2251 Dungeon Master(广搜,三维,简单)
- C#字符串拼接怎么转义背景图片
- Cyclic Nacklace - HDU 3746(next求循环节)
- HOOK钩子 - 钩子函数说明
- perl malformed JSON string, neither tag, array, object, number, string or atom, at character offset
- Hive中频繁报警的问题
- Spring基础学习(三)&mdash;详解Bean(下)
- nyoj_471:好多的树(容斥原理)
- spring schedule定时任务(二):配置文件的方式
- The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
- 程序员面试宝典3TH-ch7.2
- _ZNote_Qt_按钮增加图片
- C# 简单学习正则表达式
- 想涨工资吗?那就学习Scala,Golang或Python吧
- sso接口的调用
- Python3.X如何下载安装urllib2包 ?
热门文章
- Storm构建分布式实时处理应用初探
- CSS垂直居中总结
- 【css3笔记】---- 渐变的秘密
- Linux环境下shell和vim中乱码原因及消除办法
- 死去活来,而不变质:Domain Model(领域模型) 和 EntityFramework 如何正确进行对象关系映射?
- [译]ZOOKEEPER RECIPES-Locks
- SqlHelper中IN集合场景下的参数处理
- Spark Shuffle原理、Shuffle操作问题解决和参数调优
- div里嵌套了img 底部会出现白边
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(11)-系统日志和异常的处理①