iOS NSMutableURLRequest 上传图片
- (void)postImage:(UIImage *)_image {//分界线的标识符NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x";//根据url初始化requestNSInteger schoolID = [[BaseUser shareInstance].userIdentity.school_id integerValue];NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"url"]cachePolicy:NSURLRequestReloadIgnoringLocalCacheDatatimeoutInterval:10];//分界线 --AaB03xNSString *MPboundary=[[NSString alloc]initWithFormat:@"--%@",TWITTERFON_FORM_BOUNDARY];//结束符 AaB03x--NSString *endMPboundary=[[NSString alloc]initWithFormat:@"%@--",MPboundary];//要上传的图片UIImage *image= _image;//得到图片的dataNSData* data = UIImagePNGRepresentation(image);//http body的字符串NSMutableString *body=[[NSMutableString alloc]init];//参数的集合的所有key的集合NSDictionary *param = @{};NSArray *keys = [[param keyValues] allKeys];//遍历keysfor(int i=0;i<[keys count];i++){//得到当前keyNSString *key=[keys objectAtIndex:i];//如果key不是pic,说明value是字符类型,比如name:Borisif(![key isEqualToString:@"pic"]){//添加分界线,换行[body appendFormat:@"%@\r\n",MPboundary];//添加字段名称,换2行[body appendFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",key];//添加字段的值[body appendFormat:@"%@\r\n",[[param keyValues] objectForKey:key]];}}////添加分界线,换行[body appendFormat:@"%@\r\n",MPboundary];//声明pic字段,文件名为boris.png[body appendFormat:@"Content-Disposition: form-data; name=\"pic\"; filename=\"boris.png\"\r\n"];//声明上传文件的格式[body appendFormat:@"Content-Type: image/png\r\n\r\n"];//声明结束符:--AaB03x--NSString *end=[[NSString alloc]initWithFormat:@"\r\n%@",endMPboundary];//声明myRequestData,用来放入http bodyNSMutableData *myRequestData=[NSMutableData data];//将body字符串转化为UTF8格式的二进制 [myRequestData appendData:[body dataUsingEncoding:NSUTF8StringEncoding]];//将image的data加入 [myRequestData appendData:data];//加入结束符--AaB03x-- [myRequestData appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];//设置HTTPHeader中Content-Type的值NSString *content=[[NSString alloc]initWithFormat:@"multipart/form-data; boundary=%@",TWITTERFON_FORM_BOUNDARY];//设置HTTPHeader[request setValue:content forHTTPHeaderField:@"Content-Type"];//设置Content-Length[request setValue:[NSString stringWithFormat:@"%d", [myRequestData length]] forHTTPHeaderField:@"Content-Length"];//设置http body [request setHTTPBody:myRequestData];//http method[request setHTTPMethod:@"POST"];//建立连接,设置代理[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {if (connectionError) {}else{NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];NSLog(@"上传成功");}}];}
转载于:https://www.cnblogs.com/pretty-guy/p/4501215.html
iOS NSMutableURLRequest 上传图片相关推荐
- 用exfe.js和canvas解决移动端 IOS 拍照上传图片翻转问题
前言 记得16年的时候我初入前端差不多一年,公司做了一个webapp,有上传头像功能,当时这个项目不是我在负责,测试的时候发现苹果用户拍照上传头像会翻转,当时几个前端的同学捯饬了一下午也没解决,结果问 ...
- ios 上传图片失败 小程序_【报Bug】百度小程序真机IOS无法上传图片
详细问题描述 (DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题) [内容] 在百度小程序开发者 ...
- 【uni-app】H5以及真机(android ios解决上传图片旋转90度的问题)
h5是通过拿到旋转的值,重新用canvas画图,所以在页面需要加入canvas 元素,其中用v-if的原因,是重复上传的话之前画的不会清空掉,所以用v-if来清空.还有canvas要设置height: ...
- 关于ios手机上传图片旋转问题的解决
先占个坑,一会完善!! 转载于:https://www.cnblogs.com/zhuyu/articles/5943400.html
- ios开发 上传图片颠倒问题
曾遇到这样的一个问题, 自己上传到服务器的图片, 在请求回来莫名奇妙的就会颠倒了 解决办法只需要, 在图片上传之前, 做一下处理就可以了 //图片处理,此方法解决了, (手机竖屏拍照,图片会横倒的问 ...
- layui框架实战案例(6):上传图片和视频自动调用IOS或安卓系统的摄像头功能
显示效果: 安卓系统上传图片 安卓系统上传视频 苹果IOS IOS系统上传图片 IOS系统上传视频 layui解决代码 上传图片 <button class="layui-btn&qu ...
- uniapp上传图片失败原因
在uniapp中将临时图片地址上传获取永久地址, 刚开始是使用post方法直接调接口上传图片,一直上传失败, 后发现需使用uni.uploadFile()才能上传文件,代码如下 // 不传递参数的情况 ...
- html5报名页面设计
在微信或者APP中但凡需要用户参与的活动,一般都会需要用户上传一些资料,这就涉及到报名页面的设计.比如在我做的心愿漂流瓶项目中,就包含报名页面,地址:发布心愿页面.在手机端打开效果图如下图1所示. 图 ...
- 【转】app之YdbOnline说明文档
概述 YdbOnline是面向网页开发者提供的网页开发工具包. 通过使用YdbOnline,网页开发者可借助YdbOnline高效地使用语音.位置等手机系统的能力,同时可以直接使用清除缓存.扫一扫等A ...
最新文章
- 大规模数据处理Apache Spark开发
- Java开发面试题及答案,5年crud“经验
- 图解手动全面检查管理本机端口
- hdu 5093 二分匹配
- ios自带NSURLConnection下载文件
- 华为公开“一种芯片堆叠封装及终端设备”专利
- oracle到pg不停机增量迁移,研究 Oracle 到 PostgreSQL 的数据迁移 – 以 pgloader 为例 – Phy 的博客...
- from mysql partition select_通过分区(Partition)提升MySQL性能[原创翻译]
- 波卡生态跨链隐私中间件协议Raze Network将于4月中旬开启IDO和LBP
- python图像边缘检测报告_python计算机视觉2:图像边缘检测
- 什么软件可以搜C语言题答案,C语言题库(带答案)-排版Word版
- 数据分析必备算法(算数平均值,加权平均值,最值,中位数,标准差,时间数据处理 ,数组的轴向汇总, 移动均线 ,卷积(简单概念))
- Python笔记_39_前端_HTML
- nmn与线粒体的作用,nmn线粒体对细胞作用及影响,值得关注
- BZOJ 1208: [HNOI2004]宠物收养所 (Treap)
- Linux设备驱动程序
- R语言数据类型基础1 数值型、逻辑型与文本型
- textarea内部换行实现
- 前端代码 录音样式 类似微信发送语音
- 【论文向】NAACL2022 汉语纠错多源、多参考数据集MuCGEC
热门文章
- 二维特征分类的基础_3D 分割分类总结
- spring学习--AOP--JDK动态代理
- 微软账号被暂时停用咋办_游戏账号交易要注意什么?买游戏账号有哪些可能会被找回去...
- linux中如何解决文件已删除但空间不释放的案例
- python函数和代码复用思维导图_Python语言程序---代码复用与函数递归(二)
- mat分析dump分析_使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一)
- linux 内核dump,linux内核调试技巧之一 dump_stack【转】
- python写登录界面跳转至数据库操作_pycharm+jdango+python实现创建web工程并实现简单登陆...
- 武汉纺织大学C语言试题,武汉纺织大学10年C语言试题.doc
- java+swing+教科书,java+Swing+学生事务管理系统