Fork me on GitHub

关于iPhone应用中HTTP上传请求协议总结

关于iPhone应用中HTTP上传请求协议总结是本文要介绍的内容,主要是来学习HTTP上传请求协议的内容,具体内容来看本文详解。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]; 

 

 

 

 

 

 

 

posted on 2012-05-22 11:21  pengyingh  阅读(209)  评论(0)    收藏  举报

导航