关于iphone http上传请求协议的一些总结
2011-03-09 14:33
676 查看
转载于:http://blog.sina.com.cn/s/blog_661314940100m648.html
最近坐了一个项目涉及到图片上传的问题,起初用到socket,但是由于比较陌生
改而用 http 协议做web上传
这里需要自定义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];
类别:网络部分 查看评论
最近坐了一个项目涉及到图片上传的问题,起初用到socket,但是由于比较陌生
改而用 http 协议做web上传
这里需要自定义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];
类别:网络部分 查看评论
相关文章推荐
- 关于iphone http上传请求协议的一些总结
- iphone完整版的http上传请求协议
- 通过 Socket 发送 Http协议 上传图片到速卖通服务器过程中遇到的一些小的问题 总结
- 关于Android网络访问请求的一些总结 包括HttpClient HttpUrlConnection Volley
- 详解iPhone应用中HTTP上传请求协议
- 关于Socket与Http协议的一些总结以及部分个人看法
- iphone完整版的http上传请求协议
- 通过 Socket 发送 Http协议 上传图片到速卖通服务器过程中遇到的一些小的问题 总结
- iphone完整版的http上传请求协议
- HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误
- C#实现http协议支持上传下载文件的GET、POST请求
- 关于QThttp post上传混合表单数据实例总结
- 安卓中关于图片从网络获取,压缩,上传,下载,缩略图,缓存的一些处理总结(一)
- HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误
- 关于HttpClient在服务器端使用请求碰到的问题总结
- 安卓中关于图片从网络获取,压缩,上传,下载,缩略图,缓存的一些处理总结(四)
- 关于PHP+JQuery图片上传,裁剪,并存储的一些总结
- 关于"Ueditor 请求后台配置项http错误,上传功能将不能正常使用"的解决办法
- C#实现http协议支持上传下载文件的GET、POST请求
- HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误