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代码 (二)上传图片到服务器二--------------------------- ...
随机推荐
- ubuntu实现ramdisk
1. linux内核提供了16个ramdisk供使用者使用,只需格式化,并挂在便可以使用.查看 ls /dev/ram* 2. 修改配置文件: sudo gedit /etc/default/grub ...
- java基础总结——基础语法1
一.标示符 二.关键字 三.java基本数据类型 3.1 常量 ● 常量表示不能改变的数值. ● java中常量的分类: 1. 整数常量.所有整数 2. 小数常量.所有小时 3. 布尔型常量.较为特有 ...
- python thrift 服务端与客户端使用
一.简介 thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, ...
- Linux图形&命令行界面切换
1.实时切换 1.1 命令行->图形 startx 1.2 图形->命令行 Ctrl+Alt+F1--F6 2.启动默认 2.1 启动进入命令行 修改/etc/inittab文件 &quo ...
- java设计模式之工厂方法探究
简单工厂 + 工厂方法 + 抽象工厂 看了十几篇博客,每篇基本上都能有个自己的解释,我汇总这些内容,重新梳理整理了一番,以形成自己的理解. 简单工厂模式其实不算23种设计模式之 ...
- AngularJS基础知识1
一.angularJS简介 1.什么是 AngularJS? AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库.AngularJS是协助搭建单页面工程 ...
- Selenium2学习-039-WebUI自动化实战实例-文件上传下载
通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...
- Python开发程序:学员管理系统(mysql)
主题:学员管理系统 需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图: 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节 ...
- freemarker页面如何获取绝对路径basePath
1. freemarker获取系统相对路径方式 spring-mvc.xml 中配置 <!-- FreeMarker视图解析 如返回userinfo..在这里配置后缀名ftl和视图解析器.. - ...
- node的错误处理
当node程序出现错误的时候,首先是要捕捉到错误,然后处理错误,不能让进程挂掉,最后是将错误写进日志. 1.在app.js最开始写,用process对象,监听uncaughtException事件pr ...