iOS 上传文件

  NSString *boundry = @"boundry";//分节符

NSMutableURLRequest *mutableRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"服务器地址"]];

[mutableRequest setHTTPMethod:@"POST"];

NSMutableDictionary *head = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundry],@"Content-Type",nil];

[mutableRequest setAllHTTPHeaderFields:head];

NSMutableString *mutableString = [[NSMutableString alloc] init];

[mutableString appendFormat:@"--%@\r\n", boundry];

[mutableString appendFormat: @"Content-Disposition: form-data; name=\"image\"; filename=\"image.png\"\r\n\r\n"];//name + filename 自己看着来,其他就不要换了

NSMutableData *postData = [NSMutableData dataWithCapacity:[imageData length] + 512];

[postData appendData:[mutableString dataUsingEncoding:NSUTF8StringEncoding]];

[postData appendData:imageData];//插入要上传的文件数据(NSData)

[postData appendData:

[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundry] dataUsingEncoding:NSUTF8StringEncoding]];

[mutableRequest setHTTPBody:postData];

NSData *received = [NSURLConnection sendSynchronousRequest:mutableRequest returningResponse:nil error:nil];

时间: 2024-11-12 02:28:14

iOS 上传文件的相关文章

iOS上传文件,有关http上传协议-RFC1867

以上是抓包HTML input file标签上传的内容 只要模拟上面http 的header跟body就可以成功. 整体说明: post 上传文件时,以在http body里面带参数,参数的格式,根据RFC1867协议要求写成如下 在http header 里面定义 boundary ,boundary的值为body里面分隔参数的标志. Content-Type: multipart/form-data; boundary=----------LlcUploadTaskWithRequest 假

iOS 网络请求 NSURLSession 的上传文件方法

NSURLSession/NSURLConnection的上传文件方法 此篇文章的理论基础主要是与HTTP网络通信协议相关.为集中精力,可以先把TCP/IP协议这些置之不理,也就是先只关注HTTP的请求和响应的结构.HTTP完整的原理内容就此略过.在此只略提相关内容.文中涉及的设计源码可以通过这里获取 https://github.com/wuqingjian2015/uploadHelper,有意者可以去看看. HTTP是干什么用的呢? 先考虑一下以下应用过程: 从客户端向服务器端发起一个请求

PHP -- 上传文件接口编写 及 iOS -- 端上传图片AF实现

PHP 上传文件接口: //保存图片 $json_result ['status'] = 0; $path = 'upfile'; $json_result ['status'] = 0; $json_result ['successmsg'] = '上传失败'; if (isset ( $_FILES ['image'] )) { $upfile = 'upfile/' . $_FILES ['image'] ['name']; if (! @file_exists ( $path )) {

ios通过post上传文件

由于iOS无法通过html表单来上传图片,因此想要上传图片,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传. 上传图片的http post请求的格式是这样的: Java代码   Content-type: multipart/form-data, boundary=AaB03x --AaB03x content-disposition: form-data; name="field1" Hello Boris! --AaB03x content-dispo

iOS wifi上传文件

利用Wi-Fi从pc端上传文件到iOS设备上 首先,从Github下载cocoa-web-resource: pc浏览器运行的效果: 代码中如果不想端口为大家所熟知的,可以随机生产一个端口号,在代码的操作很简单,只要在CocoaWebResourceViewController.m文件中注释[httpServer setPort:8080];这一行代码,以后开启server就是一个随机的端口号. cocoa-web-resource能进行上传各种文件,美中不足的是当上传一个大一点的文件,在pc的

iOS开发——网络Swift篇&NSURLSession加载数据、下载、上传文件

NSURLSession加载数据.下载.上传文件 NSURLSession类支持三种类型的任务:加载数据.下载和上传.下面通过样例分别进行介绍. 1,使用Data Task加载数据 使用全局的sharedSession()和dataTaskWithRequest方法创建. 1 func sessionLoadData(){ 2 //创建NSURL对象 3 let urlString:String="http://hangge.com" 4 var url:NSURL! = NSURL(

[iOS 多线程 & 网络 - 2.11] - ASI框架上传文件

A.ASI的上传功能基本使用 1.实现步骤 (1)创建请求 使用ASIFormDataRequest (2)设置上传文件路径 (3)发送请求 2.上传相册相片 UIImagePickerController用来选择图片 设置图片来源,可以选择相册 使用代理 UIImagePickerControllerDelegate方法,选择完成之后取得相片 1 // 2 // ViewController.m 3 // ASIUploadDemo 4 // 5 // Created by hellovoid

IOS开发教程之put上传文件的服务器的配置及实例分享-备用

感谢大神分享 1,HTTP常见的方法 GET 获取指定资源 POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HEAD 获取指定资源头部信息PUT 替换指定资源(不支持浏览器操作)DELETE 删除指定资源 2,配置服务器的put请求方式: 复制代码代码如下: 1> n 打开终端p cd /etc/apache2p sudo vim httpd.conf n 在vim中输入p /httpd-dav.conf• 查找httpd-dav.confp 按0将光标移动至

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所有开发者,新用户都有免费享有10G的使用权,10G可能对于做方案的工程师来说可能是微不 足道的,比如后视镜和车载方案,会常常需要用到视频的存储与云分享,当然这里不是只本地存储哦,我指的是用户在使用方案商的方案的时候,比如他开车 的时候录了一段视频需要分享到某个域,共享给大家看,比如微信,这时候他肯定