iOS通过HTTP POST上传文件,代码如下:
//创建Request对象 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:urlStr]]; [request setHTTPMethod:@"POST"]; NSMutableData *body = [NSMutableData data]; //设置表单项分隔符 NSString *boundary = @"---------------------------14737809831466499882746641449"; //设置内容类型 NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; //写入图片的内容 [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"PIC_DATA1.jpg\"\r\n",@"PIC_DATA1"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[infoDic objectForKey:@"PIC_DATA1"]]; [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; //写入INFO的内容 [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",@"PIC_INFO"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:jsonData]; [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; //写入尾部内容 [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [request setHTTPBody:body]; NSHTTPURLResponse *urlResponese = nil; NSError *error = [[NSError alloc]init]; NSData* resultData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponese error:&error]; NSDictionary *responseDic = [NSJSONSerialization JSONObjectWithData:resultData options:NSJSONReadingMutableLeaves error:nil];
相关推荐
说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中。本文介绍如何不借助第三方框架实现iOS开发中得文件上传。 由于过程较为复杂,因此本文只贴出部分关键代码。 主控制器的关键代码: 代码如下:...
由于iOS无法通过html表单来上传文件,因此想要上传文件,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传。此demo经过xcode5测试通过。此文件上传demo是按照 rfc1867协议实现的。
Network, 根据AFNetworking3.0框架封装的,实现了GET、POST、PUT、DELETE、上传文件、下载文件、文件上传下载进度条等功能,同时支持IPv6。 为什么使用它? 1、简单快捷,只需要一句代码即可请求网络和文件处理 ...
使用Objective-C通过Http协议实现文件的上传与下载,GET与POST传递参数,上传与下载进度检测
iOS中用系统提供的API能实现能实现文件的上传与下载,分别有两种方式。NSURLConnection与NSURLSession。 其中NSURLConnection是使用很久的的一种方式,NSURLSession是新...*Content-Type:multipart/form-data(上传文件)
ios中post上传文件封装的分类。不用自己拼凑请求体。简单好用
代码是针对移动端的(安卓和ios都可以,用的cordova工具),本来想在网上搜个cordova的分块案例,结果没有,就使劲儿研究了一下,写了个分块上传的粗糙代码(关键是要兼容ios,所以只管实现,没管代码优美之类的,...
包括网络请求、文件上传、文件下载这三个方法。并且支持RESTful API GET、POST、PUT、DELETE、PATCH的请求。同时使用YYCache做了强大的缓存策略。 拥有 AFNetwork 大部分常用功能,包括网络状态监听等,提供类...
cocoaChina只支持上传5M内的文件,下载GitHub:https://github.com/Suzhibin/ZBNetworking 缓存思路来自 SDWebImage 已用于多个项目 使用 1.请求类型丰富/ * GET请求 // * POST请求 // * PUT请求 // * PATCH...
基于AFNetworking3.0封装网络请求功能,API面向业务层更友好,基础功能包括GET、POST、下载、单文件上传、多文件上传、取消网络请求。此外拓展出缓存功能,缓存分为内存缓存和磁盘缓存。 大家觉得不错,就赏个...
攻略34 通过HTTP上传文件 120 第5章 运行库攻略 127 攻略35 使用新式的Objective-C类设计 127 攻略36 生成智能调试输出 130 攻略37 设计智能化的User Defaults访问 133 攻略38 扫描与遍历视图层次结构 ...
该代码库封装了多种http请求,包括post,get,文件上传,Soap访问,已经基于https+证书的模式。
POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HEAD 获取指定资源头部信息PUT 替换指定资源(不支持浏览器操作)DELETE 删除指定资源 2,配置服务器的put请求方式: 代码如下: 1> n 打开终端...
封装网络访问类AFNetPackage,具备检查网络状态、JSON方式获取数据、xml方式获取数据、post、get、delete、文件下载、文件上传等功能 UITableview上拉加载、下面刷新功能;UITableView潜逃UICollecionView展现界面,...
AFNetworking4.0+ 封装GET / POST / PUT / PATCH / DELETE /上传/下载网络请求,添加了请求缓存,离线下载,显示缓存大小,删除缓存,缓存key过滤,取消当前请求等功能,支持公共配置优点:1.请求类型丰富/ * GET请求...
* 还需要完善的功能:网络动态的检测、上传文件及下载文件、移除单个的网络请求及移除所有的网络请求。 * 网络请求的缓存...等等方面吧。还在学习中... */ github网址: ...
对AFNetworking 3.x 的二次封装,封装常见的GET、POST、文件上传/下载、网络状态监测的功能、方法接口简洁明了,并结合YYCache实现对网络数据的缓存,简单易用,不用再写FMDB那烦人的SQL语句,一句代码搞定网络数据的请求...
基于 AFNetworking3.0版本封装 ,只是简单封装并未做太多修改,保证了原汁原味的使用体验. 1 监听网络连接状态 ... 建议直接提前工程里的Networking文件夹里的所有文件,解压包下的 Networiking不是最新的是之前上传的.
备注:不要自己设置请求头类型,让浏览器自己解析,如果在main.js中配置了post参数序列化的可能会导致浏览器解析上传文件格式错误(415错误Unsupported Media Type);请将此配置注释掉; async uploadFile(...
文件太大,上传不了。 github:https://github.com/bestDew/ZKTreeTableView.git 掘金:https://juejin.im/post/5ba67ad7e51d450e8477b603