上传图片流到服务器(AFN方法) (多张图片)(图片流)

第一步//获取图片

UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"添加照片" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

[actionSheet dismissViewControllerAnimated:YES completion:^{

}];

}];

UIAlertAction *PhotoAlbum = [UIAlertAction actionWithTitle:@"从相册获取" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

[self reloadImagesFromLibrary];

}];

UIAlertAction *camera = [UIAlertAction actionWithTitle:@"从摄像头获取" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

picker.sourceType = UIImagePickerControllerSourceTypeCamera;

NSArray *temp_MediaTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType];

picker.mediaTypes = temp_MediaTypes;

picker.delegate = self;

picker.allowsEditing = YES;

}

[self presentViewController:picker animated:YES completion:^{

}];

}];

[actionSheet addAction:PhotoAlbum];

[actionSheet addAction:camera];

[actionSheet addAction:cancel];

[self presentViewController:actionSheet animated:YES completion:^{

}];

//这个是调用摄像头的回调方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

[self dismissViewControllerAnimated:YES completion:nil];

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

[self.frontIDCard setImage:[image imageWithRenderingMode:1] forState:UIControlStateNormal];

//因为要上传多张照片所以放到一个数组里 (要注意控制图片的尺寸和质量)

[self.postImageArr addObject:[self image:image byScalingToSize:CGSizeMake(400, 800)]];

}

//这个是选取拍摄的照片的方法

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{

[picker dismissViewControllerAnimated:YES completion:^{

}];

}

//更改图片大小

- (UIImage *)image:(UIImage*)image byScalingToSize:(CGSize)targetSize {

UIImage *sourceImage = image;

UIImage *newImage = nil;

UIGraphicsBeginImageContext(targetSize);

CGRect thumbnailRect = CGRectZero;

thumbnailRect.origin = CGPointZero;

thumbnailRect.size.width  = targetSize.width;

thumbnailRect.size.height = targetSize.height;

[sourceImage drawInRect:thumbnailRect];

newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImage ;

}

//传图片流

- (void)postImages {

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

[manager POST:Period parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData)

{

//
上传 多张图片

for(NSInteger i = 0; i < self.postImageArr.count; i++) {

NSData * imageData = UIImageJPEGRepresentation([self.postImageArr objectAtIndex: i], 0.5);

//
上传的参数名

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

formatter.dateFormat = @"yyyyMMddHHmmss";

NSString *str = [formatter stringFromDate:[NSDate date]];

NSString *fileName = [NSString stringWithFormat:@"%@.jpg", str];

[formData appendPartWithFileData:imageData name:str fileName:fileName mimeType:@"image/jpeg"];

}

}

success:^(AFHTTPRequestOperation *operation, id responseObject)

{

NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];

NSLog(@"完成 %@", result);

}

failure:^(AFHTTPRequestOperation *operation, NSError *error)

{

NSLog(@"错误 %@", error.localizedDescription);

}];

}

上传图片流到服务器(AFN方法) (多张图片)(图片流)的更多相关文章

  1. 本地多张图片采用jmeter上传到ftp服务器的方法和获取服务器日志中某些关键字的基本方法

    测试需求: 本地图片上传到ftp服务器里和另外两台不同算法比对服务器进行比对,得出漏检和误检结果:这实际属于功能测试范畴. 测试思路: 第一种方法:使用实际场景的摄像机抓拍图片上传到服务器,用录屏软件 ...

  2. php实现上传图片保存到数据库的方法

    http://www.jb51.net/article/61034.htm 作者:傲雪星枫 字体:[增加 减小] 类型:转载   这篇文章主要介绍了php实现上传图片保存到数据库的方法,可通过将图片保 ...

  3. 将本地文件上传到指定的服务器(HttpWebRequest方法)

    将本地文件上传到指定的服务器(HttpWebRequest方法),通过文件流,带文件名,同文件一同上传的表单文本域及值. ///<summary> /// 将本地文件上传到指定的服务器(H ...

  4. kindeditor修改图片上传路径-使用webapi上传图片到图片服务器

    kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 在这里我着重介绍一些使用kindeditor修改图片上传路径并通过webapi上传图片到图片服务器的方案. 因为我使用的 ...

  5. kindeditor扩展粘贴图片功能&修改图片上传路径并通过webapi上传图片到图片服务器

    前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...

  6. kindeditor扩展粘贴截图功能&修改图片上传路径并通过webapi上传图片到图片服务器

    前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...

  7. Apple公司Darwin流式服务器源代码分析

    当前,伴随着Internet的飞速发展,计算机网络已经进入到每一个普通人的家庭.在这个过程中,一个值得我们关注的现象是:Internet中存储和传输内容的构成已经发生了本质的改变,从传统的基于文本或少 ...

  8. 调用Web API将文件上传到服务器的方法(.Net Core)

    最近遇到一个将Excel通过Web API存到服务器的问题,其中涉及到Excel的读取.调用API.Web  API怎么进行接收. 一. Excel的读取.调用API Excel读取以及调用API的代 ...

  9. MVC异步上传图片到本地/服务器

    这两天朋友问我,有没有异步上传图片到本地/服务器这种demo,他有用, 我就想,好吧, 那刚好周末了,整理一套出来. 主要用到的是jquery uploadify 这个juqery的插件 ,可以无刷新 ...

随机推荐

  1. Linux命令大全----系统管理相关命令

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka       摘要:本文主要讲了Linux命令大全----系统管理相关命令,并附有实例 一.安装 ...

  2. 再谈JavaScript的数据类型问题

    JavaScript的数据类型问题已经讨论过很多次了,但许多人还有许多书仍然沿用着错误的.混乱的一些观点,所以就再细讲一回. 提及这个讨论的原因在于argb同学在我的MSN博客上的一段回复,又更早的起 ...

  3. Node.js:get/post请求、全局对象、工具模块

    一.GET/POST请求 在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交.表单提交到服务器一般都使用 GET/POST 请求. 1.获取GET请求内容 由于GET请求直接被嵌入在路径 ...

  4. html5.js 让所有IE支持HTML5

    摘自: http://hi.baidu.com/skway/item/33f38a9487356b4ff14215cf?qq-pf-to=pcqq.c2c html5.js 让所有IE支持HTML5 ...

  5. 那些年困扰我们的Linux 的蠕虫、病毒和木马

    虽然针对Linux的恶意软件并不像针对Windows乃至OS X那样普遍,但是近些年来,Linux面临的安全威胁却变得越来越多.越来越严重.个中原因包括,手机爆炸性的普及意味着基于Linux的安卓成为 ...

  6. 解决Windows server 2012 R2 系统使用IIS8浏览Asp程序出现"An error occurred on the server when processing the URL"错误

    进入IIS并将ASP里的“Send Error To Browser”设置为True后点击Appley保存即可 原因是IIS里的Asp设置禁用上当错误信息发送给浏览器,只要启用即可 如果没有Asp选项 ...

  7. 使用BeyondCompare比较文件夹下的文件时,相同的文件内容,但显示为不相同

    主要原因是: 两个文件行尾标题不一致而导致的,一个是PC,一个是Unix 解决办法: 随便比较文件夹中的两个文件,点击规则,去掉比较行尾(pc/mac/unix)选项,点击确认,回到文件夹比较界面,刷 ...

  8. 【Hibernate一】概述及入门

    Hibernate学习框架: 1.基本部分      crud的操作      主键的生成机制      类型      持久化类      映射文件 *.hbm.xml      配置文件 hibe ...

  9. C#基础视频教程7.3 如何编写简单游戏

    前面我们大致实现了鸟的一圈轨迹(其实如果你不做这个,就用两个矩形块的碰撞检测代替也可以),跟所有前面的教程一样,草稿打完了就要设计封装成一个类.至少到目前为止我们已经知道了鸟的属性和方法,先不要管方法 ...

  10. NFC低功耗模式