ios 使用AFN上传图片到服务器
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"application/json", @"text/html",@"text/json", @"text/javascript", nil];
//可以多张图片也可以是单张,如果是多张而且后台开了异步上传的话在这儿直接做for循环要保证上传的时候fileName不同。
NSString *urlString = [NSString stringWithFormat:@"%@%@",DEBUG_URL,@"mobile/explorer"];
[manager POST:urlString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
//上面的这三句就是获取当前时间的,目的就是让上传的名字不同。
// for (int i =1; i<=8; i++) {这里注释掉的就是如果你要多张上传的时候用的
NSData *data = UIImageJPEGRepresentation(你的图片UIimage,0.7);
NSString *fileName = [NSString stringWithFormat:@"%@.jpg", str];
[formData appendPartWithFileData:data name:@"mf" fileName:fileName mimeType:@"image/jpg"];
//}
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
//这里就是处理上传成功后的返回等操作,大家可以不用看我的。我在这儿是把成功后,后台返回给我的图片id返回给我的主控制器
// CGLog(@"Success: %@", responseObject);
if ([responseObject[@"status"] integerValue]==0) {
[SVProgressHUD showSuccessWithStatus:@"上传成功。"];
//店铺图片多张
if (isMore==YES) {
[imageArr addObject:[NSString stringWithFormat:@"%@",responseObject[@"data"][@"s_url"]]];
if (imageArr.count == arr.count) {
NSString *imagesId = [imageArr componentsJoinedByString:@","];
// CGLog(@"%@",imagesId);
if (self.delegate && [self.delegate respondsToSelector:@selector(postMoreImageId:)]) {
[self.delegate postMoreImageId:imagesId];
}
}
//门头照
}else{
if (self.delegate && [self.delegate respondsToSelector:@selector(postImageId:)]) {
[self.delegate postImageId:[NSString stringWithFormat:@"[%@]",responseObject[@"data"][@"id"]]];
}
}
}else{
[SVProgressHUD showErrorWithStatus:@"上传失败。"];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//上传失败在这儿处理
// CGLog(@"Error: %@", error);
[SVProgressHUD showErrorWithStatus:@"上传失败,请确认网络是否连接。"];
}];
另外有时候上传服务器后,照片要在PC上展示,会出现照片在PC上显示是旋转了90度的,那C哥(我的自称)就搜了一个现成的方法可供大家参考,已经试过了管用:http://www.cnblogs.com/caodedi-88/p/6256347.html
ios 使用AFN上传图片到服务器的更多相关文章
- ios web html 上传图片到服务器后方向不对解决
结论: 1.ios上传会在exif中带一个 Orientation的属性,这个属性在windows中不会生效,在ios浏览器中会生效,造成图片在windows资源管理器中与ios浏览器中方向不一致 2 ...
- iOS用AFN上传图片到java后台
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { AFHTTPSessionMana ...
- ios客户端base64上传图片到java服务器遇到的问题
由于base64位包含了“+”和“\”两个特殊符号,导致ios编码后上传图片到服务器,服务器解码以后的值会不一致,导致图片损坏. 解决办法:重写Base64类,用“(”和“)”替换“+”和“\”两个特 ...
- iOS开发通过AFNetworking上传图片到服务器
iOS开发通过AFNetworking上传图片到服务器 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager. ...
- 通过android 客户端上传图片到服务器
昨天,(在我的上一篇博客中)写了通过浏览器上传图片到服务器(php),今天将这个功能付诸实践.(还完善了服务端的代码) 不试不知道,原来通过android 向服务端发送图片还真是挺麻烦的一件事. 上传 ...
- Wcf for wp8 上传图片到服务器,将图片名字插入数据库字段(五)
环境:.NET Framework 3.5 服务: IIS EXpress托管 WCF服务程序 配置:Web.config <!--<connectionStrings> <a ...
- .NET开发微信小程序-上传图片到服务器
1.上传图片分为几种: a:上传图片到本地(永久保存) b:上传图片到本地(临时保存) c:上传图片到服务器 a和b在小程序的api文档里面有.直接说C:上传图片到服务器 前端代码: /* 上传图片到 ...
- Android 上传图片到服务器二--------调用相机7.0以上权限问题
[目录] (一)上传图片到服务器一 ---------------------------------Android代码 (二)上传图片到服务器二--------------------------- ...
- Android 上传图片到服务器 okhttp一
[目录] (一)上传图片到服务器一 ---------------------------------Android代码 (二)上传图片到服务器二--------------------------- ...
随机推荐
- 第一章-第四题(ACM 比赛的程序是软件么? “写程序” 和 ”做软件“ 有区别么?软件工程是不是教那些不怎么会写程序的人开发软件? 你怎么看?这个游戏团队, 有很好的软件,但是商业模式和其他软件之外的因素呢?有没有考虑到)--By梁旭晖
引用 http://baike.baidu.com/link?url=z_phkcEO4_HjFG_Lt163dGFAubdb68IbfcfzWscTOrrZ55WbJEQKzyMQ5eMQKyatD ...
- Python爬虫:Xpath语法笔记
一.选取节点 常用的路劲表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的所有子节点 / 从根节点选取 xpat ...
- 安卓中級教程(4):ScrollView與ListView之間的高度問題
在scrollView中加插ListView是一個大難題.其中一個難題是Listview的高度難以計算,輸出效果往往強差人意,就讓我們看看當中的問題 . <LinearLayout xmlns: ...
- 开源代码分析之Android/iOS Hybrid JSBridge框架
Hybrid开发是现在的主流形式,对于业务快速迭代的公司尤其重要.曾将在鞋厂接触了很多关于Hybrid的理念,在这里分享一些Hybrid框架思想. Hybrid框架包括Native与H5的通信,Web ...
- ODP方式,大批量数据写入ORACLE数据库
项目中在同步数据的时候,需要把获得的数据DataTable,写入oracle数据库 因为System.Data.OracleClient写入方式写入大批量数据特别慢,改用Oracle.DataAcce ...
- 纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)
虽然网上类似甚至相同的案例有很多,但是我还是写下,以记下笔记,也可供大家参考 希望大家可以指导批评~~ 首先我们以列表ul li 来开始我们菜单也可以说导航条的制作: 在页面中我们首先构建以下XHTM ...
- java 基础一
一.Java命名规则 Java命名规则有两种,第一种匈牙利命名要求望名知意,第二种驼峰命名要求首字母大写(关键单词) 类名必须首字母大写,方法名首字母小写后面的单词首字母大写 .类名和方法名要用英文开 ...
- ES6 基础知识
let:用来定义变量特点:只能在代码块里面使用,let拥有块级作用域;并且let不允许重复声明; 比如: var a = 12; var a = 5; alert(a); //5; let a = 1 ...
- XDebug 自动开启PHP Stack Trace, 导致PHP Log 超1G
昨天早上突然发现测试服务器空间满了,用du挨个文件夹查看,发现是php debug log占地极大,有的log直接有1G,打开后发现极其多的php stack trace. 立刻到主服务器查看,主服务 ...
- JQuery导航选择特效
一.实现效果 1.初始化效果:未添加样式和特效 2.添加CSS样式 3.最终效果 二.JQuery代码 <!--编写JQuery代码--> <script type="te ...