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代码 (二)上传图片到服务器二--------------------------- ...
随机推荐
- Myeclipse使用DB Browser连接数据库错误:OPTION SQL_SELECT_LIMIT=DEFAULT
虽然使用Myeclipse,经过test driver可以使用, 但是不能够查询mysql数据库各个表的数据. 百度了下, 原来是驱动mysql的插件版本很低,重新下了个, 可以了. 下面是链接. ...
- 对拍老是忘记的看这里:bat代码
需要写三个程序,makedata.exe 产生测试数据, program1.exe 是你要检测的程序,program2.exe 往往是一个正确但效率不高(暴力的居多)的程序. 代码很简单,稍作解释:l ...
- 标签案例-开发foreach标签
if(item.getClass().isArray()){ this.collection = new ArrayList(); int length = Array.getLength(items ...
- [转自天涯]ISO27001与ISO20000的关系心得
“获得认证,就能得到政府的补助,能将对手甩掉.”这是很多管理者的一种想法.但是关于ISO27001与 ISO20000的关系问题很多人都不是很清楚.湖南冉达专家表示想解决这个主要要从三个方面进行分析: ...
- curl 传递用户session
$cmh = curl_multi_init(); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch, CU ...
- /etc/sudoers文件损坏修复
1. 重启(开机)时按Shift键(这时就会进入grub模式) 选择第二项 进入高级选项
- spawn协程学习
对于IO密集型的程序,一般比较高效的做法是选择异步来实现,因为使用异步的方法更容易写出高效的程序.然而使用异步的话,经验较少的人往往会使自己的程序结构变得很混乱,进而导致程序的可读性变差.记得有人说过 ...
- Universal Link 笔记
如何实现Universal Link? 简单地说三步,1.把一个配置文件放在指定服务器根目录 2.在Xcode中设置AssociateDomain 3.安装app时,会根据Xcode中设置的Assoc ...
- ZTE交换路由设备配置的备份与恢复
一.TFTP服务器搭建 使用用户计算机搭建TFTP服务器,交换路由设备作为TFTP客户端. 运行TFTPServer.exe,该程序所在的目录为TFTP的根目录. 请保证您的TFTP可以Ping通所要 ...
- redis3.2 Jedis java操作
package com.util; import java.util.HashSet; import java.util.List; import java.util.Map; import java ...