之前不会用,总感觉很难,用后感觉不是太难,本文只是简单的讲一下怎么使用的,

//实例话对象
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer.timeoutInterval = ;
manager.responseSerializer = [[AFHTTPResponseSerializer alloc] init];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]; //在请求头里 添加自己需要的参数
NSString *token = [[YXLoginStatusTool sharedLoginStatus] getTokenId];
[manager.requestSerializer setValue:token forHTTPHeaderField:@"id"]; //请求地址
NSString *URLSTR = @""; [manager POST:URLSTR parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {

      //转成data

      self.justimagedata = UIImagePNGRepresentation(pickerImagePic);

//按照表单格式把二进制文件写入formData表单
[formData appendPartWithFileData:self.justimagedata name:@"" fileName:@"" mimeType:@"image/png"]; [formData appendPartWithFileData:self.backimagedata name:@"" fileName:@"" mimeType:@"image/png"]; } progress:^(NSProgress * _Nonnull uploadProgress) { YXLog(@"++++%@+++",uploadProgress); } success:^(NSURLSessionDataTask *task, id responseObject) { YXLog(@"responseObject == %@--++--%@----", [self getResponseObjcWithTask:responseObject],[self getRespodHeaderWithTask:task]); if ([[self getRespodHeaderWithTask:task][@"Status"] isEqualToString:@""]) { //成功
}else{ [YXAlearMnager ShowAlearViewWith:[self getRespodHeaderWithTask:responseObject][@"errorMsg"] Type:];
}
[YXNetworkHUD dismiss]; } failure:^(NSURLSessionDataTask *task, NSError *error) { [YXNetworkHUD dismiss]; YXLog(@"发送失败+++++%@++++%@",error,[self getRespodHeaderWithTask:task]); [YXAlearMnager ShowAlearViewWith:@"头像更换失败" Type:];
}];
//** 获取响应头 */
- (id)getRespodHeaderWithTask:(NSURLSessionTask *)task
{
NSHTTPURLResponse *respond = (NSHTTPURLResponse *)task.response;
return respond.allHeaderFields;
}
-(id)getResponseObjcWithTask:(id )responseObect{
id json;
NSError *error;
json = [NSJSONSerialization JSONObjectWithData:responseObect options: error:&error];
if (error) {
json = [[NSString alloc] initWithData:responseObect encoding:NSUTF8StringEncoding];
}
return json;
}

iOS 提交form表单,上传图片的更多相关文章

  1. 在IOS设备上POST提交form表单,后台接收不到值怎么办?

    原文:https://blog.csdn.net/xhaimail/article/details/90440029 最近在工作上遇到一个奇葩问题,在Android和Windows平台上做请求时参数都 ...

  2. ajax提交form表单资料详细汇总

    一.ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单.通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新.这意味 ...

  3. 提交form表单不刷新页面案列

    提交form表单不刷新页面其实很简单的,这里拿上传图片来举列,大家有什么其它的方法也欢迎留言告知与我 <form action="" method="post&qu ...

  4. Ajax提交Form表单及文件上传

    刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...

  5. ajax提交form表单

    1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...

  6. Jquery通过Ajax方式来提交Form表单

    今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...

  7. 导出excel用ajax不行,提交form表单可以

    导出excel用ajax不行,提交form表单可以. 一直用ajax找原因,网页不出现下载提示框 写了 response.setContentType("application/binary ...

  8. C# 模拟提交 Form表单的数据

    用 HttpWebRequest Post方法模拟提交Form表单数据时,需要设置 ContentType 为 "application/x-www-form-urlencoded" ...

  9. jquery实现ajax提交form表单的方法总结

    本篇文章主要是对jquery实现ajax提交form表单的方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法一:  function AddHandlingFeeToRefund( ...

随机推荐

  1. 《OD学spark》20160925 Spark Core

    一.引言 Spark内存计算框架 中国Spark技术峰会 十二场演讲 大数据改变世界,Spark改变大数据 大数据: 以Hadoop 2.x为主的生态系统框架(MapReduce并行计算框架) 存储数 ...

  2. Python Day23

    Django之Model操作 一.字段 字段列表 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - ...

  3. 低价购买 dp

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  4. Linux表面工作

    https://www.cnblogs.com/welhzh/p/5899875.html 1.显示文本文件的内容 /etc/issue   #登录前提示 /etc/motd   #登录后提示 ssh ...

  5. chrome安装文件点击没有反应(收藏用)

    备份Chrome浏览器用户数据 关闭Chrome浏览器,用Windows资源管理器打开%LOCALAPPDATA%\Google,复制Chrome文件夹到其它目录.   打开程序和功能管理功能 按下W ...

  6. Chinese Zodiac (水题)

    The Chinese Zodiac, known as Sheng Xiao, is based on a twelve-year cycle, each year in the cycle rel ...

  7. python大战机器学习——集成学习

    集成学习是通过构建并结合多个学习器来完成学习任务.其工作流程为: 1)先产生一组“个体学习器”.在分类问题中,个体学习器也称为基类分类器 2)再使用某种策略将它们结合起来. 通常使用一种或者多种已有的 ...

  8. PHP Redis锁

    一.什么是 Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库 二.什么是 Redis 分布式锁 分布式锁其实可以理解为:控 ...

  9. python3+Appium自动化06-屏幕截图

    截图方法 save_screenshot() 该方法直接保存当前屏幕截图到当前脚本所在文件位置 driver.save_screenshot('login.png') get_screenshot_a ...

  10. (转)vmware克隆Centos6.4虚拟机网卡无法启动问题

    vmware克隆Centos6.4虚拟机网卡无法启动问题 原文:http://blog.51cto.com/oldboy/1363853 快速处理办法: cat /etc/sysconfig/netw ...