AFNetWorking 3.0上传图片
2016-02-24 16:22
316 查看
很多iOS应用都会遇到需要上传图片的情况,比如修改个人资料时需要上传自己的头像,最近我也遇到了这种情况,首先参考之前写过的AFNetWorking3.0处理请求头和请求内容。
我们在上述博客的基础之上进行修改,假设我们正在修改个人资料,里面需要修改个人头像和其他资料,用请求头进行用户识别,请求内容包括其他的个人资料。
首先是请求的URL,
接下来定义AFHTTPSessionManager,
设置相关的请求头,通过requestSerializer来实现,可以根据自己的需求定义一个或者多个请求头,
实现带请求内容的POST方法,这里一些文本性质的个人资料可以直接在parameters中进行设置,但是图片需要另外处理,先将UIImage对象转化成NSData对象,
最后将图片作为请求的内容进行上传,
通过以上过程就实现了利用AFNetWorking 3.0上传图片的过程,上传其他文件类型同理。
我们在上述博客的基础之上进行修改,假设我们正在修改个人资料,里面需要修改个人头像和其他资料,用请求头进行用户识别,请求内容包括其他的个人资料。
首先是请求的URL,
NSString *url = @"your url";
接下来定义AFHTTPSessionManager,
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
设置相关的请求头,通过requestSerializer来实现,可以根据自己的需求定义一个或者多个请求头,
[manager.requestSerializer @"value1" forHTTPHeaderField:@"key1"]; [manager.requestSerializer @"value2" forHTTPHeaderField:@"key2"]; ......
实现带请求内容的POST方法,这里一些文本性质的个人资料可以直接在parameters中进行设置,但是图片需要另外处理,先将UIImage对象转化成NSData对象,
NSData *imgData = UIImagePNGRepresentation(UIImage对象);
最后将图片作为请求的内容进行上传,
[manager POST:url parameters:@{ @"key1":@"value1", @"key2":@"value2" ...... } constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { [formData appendPartWithFileData:imgData name:@"key3" fileName:@"avatar.png" mimeType:@"image/png"]; } progress:nil success:^(NSURLSessionTask *task, id responseObject) { NSLog("response:%@", responseObject); } } failure:^(NSURLSessionTask *task, NSError *error) { NSLog(@"error:%@", error); }];
通过以上过程就实现了利用AFNetWorking 3.0上传图片的过程,上传其他文件类型同理。
相关文章推荐
- Java调用不支持JNI的Linux so文件
- 排序算法
- leetcode 292. Nim Game(拿石子游戏)
- 浮点转字符串性能比较
- 宁要混蛋不要老好人——一个互联网创业者的用人观
- PHP-xml-1
- MyIsam和InnoDB的区别
- zookeeper 系列文章
- iOS NSInvocation
- js获取地址栏参数
- C++基础::字符串流(stringstream)
- 老李推荐:第14章9节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-遍历控件树查找控件
- 深入浅出数据仓库中SQL性能优化之Hive篇
- Android Volley完全解析(四),带你从源码的角度理解Volley
- CodeForces 629 B. Far Relative’s Problem(水~)
- Android中高亮变色显示文本中的关键字
- Window7下安装Jmeter
- codevs 1515 跳 贪心+lucas
- 统计文件目录下所有文件个数并打印文件名
- 现代操作系统学习之进程与线程