- (void)initActionSheet

{

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"我的相册",@"拍照", nil];

actionSheet.tintColor = [UIColor whiteColor];

[actionSheet showInView:self.scrollerViewUpload];

}

#pragma mark - UIActionSheetDelegate

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{

if (buttonIndex == 0)

{

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

PickerController.delegate = self;

[self presentViewController:PickerController animated:YES completion:nil];

}

else if (buttonIndex == 1)

{

DNLog(@"拍照");

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;

//判断是否有相机

if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){

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

picker.delegate = self;

//设置拍照后的图片可被编辑

picker.allowsEditing = YES;

//资源类型为照相机

picker.sourceType = sourceType;

[self presentViewController:picker animated:YES completion:nil];

}else {

[SVProgressHUD showWithStatus:@"没有照相功能" maskType:SVProgressHUDMaskTypeBlack];

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

[SVProgressHUD dismiss];

});

DNLog(@"没有照相功能");

}

}

}

#pragma mark - UIImagePickerControllerDelegate

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info

{

UIImage *imageNew =info[UIImagePickerControllerOriginalImage];

//设置image的尺寸

CGSize imagesize = imageNew.size;

imagesize.width = imageNew.size.width * 0.45;

imagesize.height = imageNew.size.height *0.45;

//对图片大小进行压缩--

//    imageNew = [self imageWithImage:imageNew scaledToSize:imagesize];

imageNew  = [AppGlobleReciveInfo imageWithImage:imageNew scaledToSize:imagesize];

NSData *imageData = UIImageJPEGRepresentation(imageNew,0.00001);

_selectImage = [UIImage imageWithData:imageData];

self.TravelCardView.image = _selectImage;

[AppGlobleReciveInfo saveWith:_TravelCardView.image nameStr:TravelCardName];

self.TravelCenterBtn.hidden =YES;

self.TravelLable.hidden = YES;

AppGlobleRecive.isTravelCardUpLoadSuccess = false;

[AppGlobleRecive setBool:AppGlobleRecive.isTravelCardUpLoadSuccess forKey:BoolTravelCardUpLoad];

[[NSNotificationCenter defaultCenter] postNotificationName:@"IsSuccessUpLoadIdCard" object:nil];

[picker dismissViewControllerAnimated:YES completion:nil];

}

/**************** 图片上传 ****************/

+(void)uploadImageWithRequest:(NSString *)requestStr fromImage:(UIImage *)image completionHandler:(completionHandler )completionHandler

{

AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];

NSURL * url = [NSURL URLWithString:requestStr];

NSURLRequest  *request = [NSURLRequest requestWithURL:url];

NSData *imageData = UIImageJPEGRepresentation(image, 1.0);

[sessionManager uploadTaskWithRequest:request fromData:imageData progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error)

{

completionHandler(response,responseObject,error);

}];

}

IOS 图片上传处理 图片压缩 图片处理的更多相关文章

  1. javaweb图片上传 tomcat重新部署 图片消失

      标签: 图片上传tomcat重新部署图片消失原因分析以及解决办法 最近在做一个Javaweb的项目,涉及到图片上传,并且需要将图片通过URL回显给JSP页面,在调试的时候发现,上传到tomcat的 ...

  2. ueditor使用canvas在图片上传前进行压缩

    之前就看到H5使用canvas就可以在前端使用JS压缩图片,这次接到任务要把这个功能嵌入到ueditor里面去,以节省流量,减轻服务器压力. H5使用canvas进行压缩的代码有很多,核心原理就是创建 ...

  3. 修正ios h5上传图时的图片方向问题

     .ios上传会在exif中带一个 Orientation的属性,这个属性在windows中不会生效,在ios浏览器中会生效,造成图片在windows资源管理器中与ios浏览器中方向不一致  为了用户 ...

  4. megapix-image插件 使用Canvas压缩图片上传 解决手机端图片上传功能的问题

    最近在弄微信端的公众号.订阅号的相关功能,发现原本网页上用的uploadify图片上传功能到手机端有的手机类型上就不能用了,比如iphone,至于为啥我想应该不用多说了吧(uploadify使用fla ...

  5. 改变wordpress图片上传后的压缩质量

    WordPress 在图片上传后会默认压缩图片质量为原来的 90%,这样做的好处可以极大的加快页面的载入速度与缩小图片大小所占服务器空间. 如果希望 100% 原质量怎么办呢?如何禁止 WordPre ...

  6. 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能

    UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码.(抄的...) UEditor是非常好用的富文 ...

  7. 大图片上传(ImageIO,注意有的图片不能上传时因为他是tiff格式)

    一下是必要的: 1.enctype="multipart/form-data" 2. //不要使用myeclipse自动生成的get.set方法(struts2中的用法) publ ...

  8. ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  9. nginx代理图片上传以及访问 nginx 图片上传完整版

    nginx代理图片上传 首先需要利用nginx代理图片访问参考 https://www.cnblogs.com/TJ21/p/12609017.html 编写接受文件的controller 1 @Po ...

  10. iOS:图片上传时两种图片压缩方式的比较

    上传图片不全面的想法:把图片保存到本地,然后把图片的路径上传到服务器,最后又由服务器把路径返回,这种方式不具有扩展性,如果用户换了手机,那么新手机的沙盒中就没有服务器返回的图片路径了,此时就无法获取之 ...

随机推荐

  1. Javascript正则构造函数与正则表达字面量&&常用正则表达式

    本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...

  2. grape动态PHP结构(三)——API接口

    一.app视图与控制器

  3. iframe编程的一些问题

    前几天做一个用iframe显示曲线图的demo,发现对iframe的contentDocument绑定 onclick事件都无效,而在页面中对iframe.contentDocument的onclic ...

  4. Oracle监控用户索引使用情况,删除无用索引

    监控当前业务用户索引 一段时间后查询从未被使用的索引,删除无用索引 停止监控索引 1. 监控当前用户所有索引 得到监控所有索引的语句: select 'alter index ' || index_n ...

  5. 基于Angularjs实现分页

    前言 学习任何一门语言前肯定是有业务需求来驱动你去学习它,当然ng也不例外,在学习ng前我第一个想做的demo就是基于ng实现分页,除去基本的计算思路外就是使用指令封装成一个插件,在需要分页的列表页面 ...

  6. 【字符编码】字符编码 && Base64编码算法

    一.前言 在前面的解决乱码的一文中,只找到了解决办法,但是没有为什么,说白了,就是对编码还是不是太熟悉,编码问题是一个很简单的问题,计算机从业人员应该也必须弄清楚,基于编码的应用有Base64加密算法 ...

  7. 通过寄生组合式继承创建js的异常类

    最近项目中在做js的统一的异常处理,需要自定义异常类.理想的设计方案为:自定义一个异常错误类BaseError,继承自Error,然后再自定义若干个系统异常,例如用户取消异常.表单异常.网络异常,这些 ...

  8. Android 短信监听及用途分析

    监听系统短信这个只能作为一个技术点来研究下,读者可能在工作中可能不会哦涉及到,一般的应用软件也不会有这个需求 但是作为程序员呢,多了解一下也是好的. Android 监听系统短信有什么用? 1.对系统 ...

  9. WebApp上滑加载数据...

    $(window).bind("scroll", function () { if ($(document).scrollTop() + $(window).height() &g ...

  10. mybatis入门基础(八)-----查询缓存

    一.什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存. 1.1. 一级缓存是sqlSession级别的缓存.在操作数据库时需要构造 ...