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];
NSURL *url =
[urlRequest setValue:
[urlRequest setHTTPMethod:@"POST"];
***只要做到以上几点,一个完整的http协议就做好了
下面附一个简洁版完整的请求协议体
本文详细介绍了使用HTTP协议上传文件的具体步骤,包括初始化服务器地址、设置提交方法(GET/POST)、定义响应内容类型及实际内容等关键环节,并提供了一个简洁的实现示例。
1172

被折叠的 条评论
为什么被折叠?



