iOS图片压缩上传
本文实例为大家分享了iOS实现压缩图片上传功能,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
#pragma mark - 打开相机 -( void )imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ UIImage *image = info[UIImagePickerControllerOriginalImage]; self.currentTapCell.photoManageImgView.image = image; NSIndexPath * indexPath = [self.baseTable indexPathForCell:self.currentTapCell]; NSString * key = [NSString stringWithFormat:@ "ineed%u%u" , indexPath.row, indexPath.section]; [[NetEngineHelper shareNetEngine] postUploadWithUrl:k_uploadPhoto_url image:image fileName:[NSString stringWithFormat:@ "%@.png" , key] fileType:@ "PNG/JPEG/JPG" success:^(id response) { if ([response[@ "STATUS" ] intValue] != 0) { NSString * str = @ "" ; if (response[@ "ERRORDESC" ]) { str = response[@ "ERRORDESC" ]; } else { str = @ "系统异常" ; } [AlertHelper shareAlertHelper].onVC = self; [AlertHelper shareAlertHelper].alertTitle = str; [AlertHelper shareAlertHelper].alertMessage = nil; [[AlertHelper shareAlertHelper] alertVcWithSureAction:^(id response) { }]; } else { [AlertHelper shareAlertHelper].onVC = self; [AlertHelper shareAlertHelper].alertTitle = @ "上传成功" ; [AlertHelper shareAlertHelper].alertMessage = nil; [[AlertHelper shareAlertHelper] alertVcWithSureAction:^(id response) { }]; if ([self.currentTapCell.photoDescribeLable.text isEqualToString:@ "上传诊断证明" ]) { [self.successUploadDic setValue:response[@ "FILEID" ] forKey:@ "PROVEID" ]; } if ([self.currentTapCell.photoDescribeLable.text isEqualToString:@ "上传病历首页" ]){ [self.successUploadDic setValue:response[@ "FILEID" ] forKey:@ "CASEHOMEID" ]; } NSLog(@ "上传结果 %@" , response); } } fail:^(NSError *error) { [AlertHelper shareAlertHelper].onVC = self; [AlertHelper shareAlertHelper].alertTitle = error.userInfo[@ "NSLocalizedDescription" ]; [AlertHelper shareAlertHelper].alertMessage = nil; [[AlertHelper shareAlertHelper] alertVcWithSureAction:^(id response) { }]; }]; [self dismissViewControllerAnimated:YES completion:^{ }]; } #pragma mark - 打开相机 -( void )imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ UIImage *image = info[UIImagePickerControllerOriginalImage]; self.currentTapCell.photoManageImgView.image = image; NSIndexPath * indexPath = [self.baseTable indexPathForCell:self.currentTapCell]; NSString * key = [NSString stringWithFormat:@ "ineed%u%u" , indexPath.row, indexPath.section]; [[NetEngineHelper shareNetEngine] postUploadWithUrl:k_uploadPhoto_url image:image fileName:[NSString stringWithFormat:@ "%@.png" , key] fileType:@ "PNG/JPEG/JPG" success:^(id response) { if ([response[@ "STATUS" ] intValue] != 0) { NSString * str = @ "" ; if (response[@ "ERRORDESC" ]) { str = response[@ "ERRORDESC" ]; } else { str = @ "系统异常" ; } [AlertHelper shareAlertHelper].onVC = self; [AlertHelper shareAlertHelper].alertTitle = str; [AlertHelper shareAlertHelper].alertMessage = nil; [[AlertHelper shareAlertHelper] alertVcWithSureAction:^(id response) { }]; } else { [AlertHelper shareAlertHelper].onVC = self; [AlertHelper shareAlertHelper].alertTitle = @ "上传成功" ; [AlertHelper shareAlertHelper].alertMessage = nil; [[AlertHelper shareAlertHelper] alertVcWithSureAction:^(id response) { }]; if ([self.currentTapCell.photoDescribeLable.text isEqualToString:@ "上传诊断证明" ]) { [self.successUploadDic setValue:response[@ "FILEID" ] forKey:@ "PROVEID" ]; } if ([self.currentTapCell.photoDescribeLable.text isEqualToString:@ "上传病历首页" ]){ [self.successUploadDic setValue:response[@ "FILEID" ] forKey:@ "CASEHOMEID" ]; } NSLog(@ "上传结果 %@" , response); } } fail:^(NSError *error) { [AlertHelper shareAlertHelper].onVC = self; [AlertHelper shareAlertHelper].alertTitle = error.userInfo[@ "NSLocalizedDescription" ]; [AlertHelper shareAlertHelper].alertMessage = nil; [[AlertHelper shareAlertHelper] alertVcWithSureAction:^(id response) { }]; }]; [self dismissViewControllerAnimated:YES completion:^{ }]; } /**上传文件*/ -( void )postUploadWithUrl:(NSString *)urlStr image:(UIImage *)image fileName:(NSString *)fileName fileType:(NSString *)fileTye success:(Success)success fail:(Faile)fail{ NSString * resultStr = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; self.success = success; self.failer = fail; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@ "text/html" ,@ "application/json" ,@ "text/plain" ,nil]; [manager.requestSerializer setValue:@ "application/json" forHTTPHeaderField:@ "Content-Type" ]; manager.responseSerializer=[AFJSONResponseSerializer serializer]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; [manager.securityPolicy setAllowInvalidCertificates:YES]; UIApplication *application = [UIApplication sharedApplication]; application.networkActivityIndicatorVisible = YES; [manager POST:resultStr parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { NSData * imgData = UIImageJPEGRepresentation(image, 0.02); [formData appendPartWithFileData:imgData name:@ "FILENAME" fileName:fileName mimeType:fileTye]; } success:^(AFHTTPRequestOperation *operation, id responseObject) { success(responseObject); application.networkActivityIndicatorVisible = NO; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { fail(error); application.networkActivityIndicatorVisible = NO; }]; }
|
iOS图片压缩上传的更多相关文章
- 三款不错的图片压缩上传插件(webuploader+localResizeIMG4+LUploader)
涉及到网页图片的交互,少不了图片的压缩上传,相关的插件有很多,相信大家都有用过,这里我就推荐三款,至于好处就仁者见仁喽: 1.名气最高的WebUploader,由Baidu FEX 团队开发,以H5为 ...
- Html5+asp.net mvc 图片压缩上传
在做图片上传时,大图片如果没有压缩直接上传时间会非常长,因为有的图片太大,传到服务器上再压缩太慢了,而且损耗流量. 思路是将图片抽样显示在canvas上,然后用通过canvas.toDataURL方法 ...
- 基于vue + axios + lrz.js 微信端图片压缩上传
业务场景 微信端项目是基于Vux + Axios构建的,关于图片上传的业务场景有以下几点需求: 1.单张图片上传(如个人头像,实名认证等业务) 2.多张图片上传(如某类工单记录) 3.上传图片时期望能 ...
- 分享图片压缩上传demo,可以选择一张或多张图片也可以拍摄照片
2016-08-05更新: 下方的代码是比较OLD的了,是通过js进行图片的剪切 旋转 再生成,效率较低. 后来又整合了一个利用native.js本地接口的压缩代码 ,链接在这 .页面中有详细的说明, ...
- js 图片压缩上传(base64位)以及上传类型分类
一.input file上传类型 1.指明只需要图片 <input type="file" accept='image/*'> 2.指明需要多张图片 <input ...
- 纯原生js移动端图片压缩上传插件
前段时间,同事又来咨询一个问题了,说手机端动不动拍照就好几M高清大图,上传服务器太慢,问问我有没有可以压缩图片并上传的js插件,当然手头上没有,别慌,我去网上搜一搜. 结果呢,呵呵...诶~又全是基于 ...
- springMVC多图片压缩上传的实现
首先需要在配置文件中添加配置: <!--配置文件的视图解析器,用于文件上传,其中ID是固定的:multipartResolver--> <bean id="multipar ...
- 基于H5+ API手机相册图片压缩上传
// 母函数 function App(){} /** * 图片压缩,默认同比例压缩 * @param {Object} path * pc端传入的路径可以为相对路径,但是在移动端上必须传入的路径是照 ...
- HTML多图片压缩上传
本文介绍的是多张图片在前端统一压缩后再通过ajax提交给后台处理的业务,使用到的是LocalResizeIMG.js插件. 一.首先介绍项目结构 二.分享引用核心文件,这里没有分享CSS文件,因为没有 ...
随机推荐
- 如何获取Android唯一标识(唯一序列号)
有很多场景和需求你需要用到手机设备的唯一标识符. 在Android中,有以下几种方法获取这样的ID. 1. The IMEI: 仅仅只对Android手机有效: 1 2 TelephonyManage ...
- 【转载】Redis在新浪微博中的应用
转载自文章 http://blog.me115.com/2013/12/19/redis-e5-9c-a8-e6-96-b0-e6-b5-aa-e5-be-ae-e5-8d-9a-e4-b8-ad-e ...
- 对开源库使用 AutoCAD 文件格式[转]
https://www.ibm.com/developerworks/cn/opensource/os-autocad/ 对开源库使用 AutoCAD 文件格式 读取 DWG 和 DXF 文件格式 C ...
- IE系列不支持圆角等CSS3属性的解决方案
IE系列浏览器不支持CSS的圆角(border-radius)等CSS3属性是一个众所周知的问题,而FF.Chrome原生的浏览器支持是的优雅的圆角感觉较好,如何解决这个问题呢? 一种比较传统的方案是 ...
- HTML-Html开发之Viewport的使用
近年来随着移动端的快速发展,越来越多传统的web应用需要适配移动终端,下面记录一下如何通过viewport实现简单的不同型号的手机端的适配问题.不过在此之前,介绍一下如何通过Chrome浏览器,调试在 ...
- WordPress 禁用文章修订和自动保存的方法
以下代码亲测并没有效果,不能禁用自动保存 /* 移除自动保存和修订版本 */ remove_action('pre_post_update', 'wp_save_post_revision' ); ...
- 【java web】--css+div总结
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- [Grunt] External Config
Let's combine uglifying, watching, and config stuff into one Grunt file to make it more of a standar ...
- ASPX导入JS,JavaScript乱码怎么办
不管你把JS改成UTF-8还是ASCII格式,弹出都是乱码. 你只要在ASPX文件顶部加上"ResponseEncoding="gb2312" ContentType=& ...
- iOS核心动画 - CALayer
大家知道,在iOS中所有的视图都继承自UIView. UIView处理所有的触摸事件和画图. 事实上,UIView所有的渲染和动画是托管给另一个类来负责的,它就是CALayer. 但是,需要记住的是, ...