关于iphone http上传请求协议的一些总结

本文详细介绍了使用HTTP协议上传文件的具体步骤,包括初始化服务器地址、设置提交方法(GET/POST)、定义响应内容类型及实际内容等关键环节,并提供了一个简洁的实现示例。
http协议应该注意四点:
 1.初始化响应服务器地址
NSURL *url = [NSURL URLWithString:@"http://xxx.xxx.xx.xxx/mqupload.jsp"];
[urlRequest setValue:  [NSString stringWithFormat:@"%@\r\n", @"http://XXXXXX  HTTP/1.1"]]; //可要可无

 2.设置提交方法 GET/POST
[urlRequest setHTTPMethod:@"POST"];
 3.设置响应内容类型

 [urlRequest setValue:  [NSString stringWithFormat:@"multipart/form-data;    boundary=---------%@", @"7daaba1e0368"] forHTTPHeaderField:@"Content-Type"];

 4.设置响应内容
   NSMutableData *postData = [NSMutableData dataWithCapacity:[m_imageData length]];
    [postData appendData: [[NSString stringWithFormat:@"---------%@\r\n", @"7daaba1e0368"]
                          dataUsingEncoding:NSUTF8StringEncoding]];//开始标志
   
    [postData appendData: [[NSString stringWithFormat: @"Content-Disposition:form-data; name="File1";        filename="1.jpg"\r\n Content-type: image/pjpeg\r\n\r\n"]dataUsingEncoding:NSUTF8StringEncoding]];//name是页面文件的参数,type是文件类型
    [postData appendData:imageData];// 文件数据
    [postData appendData: [[NSString stringWithFormat:@"\r\n---------%@--\r\n",  @"7daaba1e0368"]
                          dataUsingEncoding:NSUTF8StringEncoding]];// 文件结束标志
   [urlRequest setHTTPBody:postData];//把数据加载到响应的文件体


***只要做到以上几点,一个完整的http协议就做好了
下面附一个简洁版完整的请求协议体
   NSURL *url = [NSURL URLWithString:@"http://XX.XX.XX"];//请求服务器路径。
   m_imageData = UIImagePNGRepresentation(myImageView.image);
   NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
   [urlRequest setHTTPMethod:@"POST"];
   [urlRequest setValue: [NSString stringWithFormat:@"multipart/form-data; boundary=---------%@",                          @"7daaba1e0368"] forHTTPHeaderField:@"Content-Type"];
   [urlRequest setValue: [NSString stringWithFormat:@"%@\r\n\r\n",
             @" keep-alive"] forHTTPHeaderField:@"Connection"];
   NSMutableData *postData = [NSMutableData dataWithCapacity:[m_imageData length]];
   [postData appendData: [[NSString stringWithFormat:@"---------%@\r\n",
             @"7daaba1e0368"] dataUsingEncoding:NSUTF8StringEncoding]];
   
   [postData appendData: [[NSString stringWithFormat:
                    @"Content-Disposition:form-data; name="File1"; filename="1.jpg"\r\n Content-type:    image/pjpeg\r\n\r\n"]dataUsingEncoding:NSUTF8StringEncoding]];
   [postData appendData:m_imageData];
   [postData appendData: [[NSString stringWithFormat:@"\r\n---------%@--\r\n", @"7daaba1e0368"]
                   dataUsingEncoding:NSUTF8StringEncoding]];
   [urlRequest setHTTPBody:postData];
   NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值