上传请求
来源:互联网 发布:mysql数据库备份方案 编辑:程序博客网 时间:2024/06/01 09:28
在ios的请求中,最复杂的莫过于上传请求,最麻烦的就是上传有固定的格式,不这样写还不行,硬性规定,下面就是上传代码
#define XMGBoundary @"520it"#define XMGEncode(string) [string dataUsingEncoding:NSUTF8StringEncoding]#define XMGNewLine [@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]- (void)viewDidLoad { [super viewDidLoad]; // 创建请求 NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/upload"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; request.HTTPMethod = @"POST"; // 设置请求头(告诉告诉服务器,这是一个文件上传的请求) [request setValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", XMGBoundary] forHTTPHeaderField:@"Content-Type"]; // 设置请求体 NSMutableData *body = [NSMutableData data]; // 文件参数 /* --分割线\r\n Content-Disposition: form-data; name="参数名"; filename="文件名"\r\n Content-Type: 文件的MIMEType\r\n \r\n 文件数据 \r\n */ // 分割线 [body appendData:XMGEncode(@"--")]; [body appendData:XMGEncode(XMGBoundary)]; [body appendData:XMGNewLine]; // 文件参数名 [body appendData:XMGEncode([NSString stringWithFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"test.png\""])]; [body appendData:XMGNewLine]; // 文件的类型 [body appendData:XMGEncode([NSString stringWithFormat:@"Content-Type: image/png"])]; [body appendData:XMGNewLine]; // 文件数据 [body appendData:XMGNewLine];// UIImageJPEGRepresentation(<#UIImage *image#>, <#CGFloat compressionQuality#>) UIImage *image = [UIImage imageNamed:@"placeholder"]; [body appendData:UIImagePNGRepresentation(image)];// [body appendData:[NSData dataWithContentsOfFile:@"/Users/xiaomage/Desktop/test.png"]]; [body appendData:XMGNewLine]; // 非文件参数 /* --分割线\r\n Content-Disposition: form-data; name="参数名"\r\n \r\n 参数值 \r\n */ // 分割线 [body appendData:XMGEncode(@"--")]; [body appendData:XMGEncode(XMGBoundary)]; [body appendData:XMGNewLine]; // 参数名 [body appendData:XMGEncode([NSString stringWithFormat:@"Content-Disposition: form-data; name=\"username\""])]; [body appendData:XMGNewLine]; // 参数值 [body appendData:XMGNewLine]; [body appendData:XMGEncode(@"jack")]; [body appendData:XMGNewLine]; // 结束标记 /* --分割线--\r\n */ [body appendData:XMGEncode(@"--")]; [body appendData:XMGEncode(XMGBoundary)]; [body appendData:XMGEncode(@"--")]; [body appendData:XMGNewLine]; request.HTTPBody = body; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { NSLog(@"%@", [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]); }];}
0 0
- 上传请求
- post 请求 与上传
- AFNpost请求上传服务器
- 文件上传ajaxfileupload请求
- 异步请求上传图片
- http请求上传文件
- ABAP 上传、下载请求文件
- CURL POST请求上传图片
- 上传图片之表单请求
- okhttp的请求+上传文件
- 09 - get请求、post请求、httpclient、文件上传
- 使用OKHttp3 get请求 , post请求 , 多文件上传 , 包看包会
- 使用OKHttp3 get请求 , post请求 , 多文件上传 , 包看包会
- 使用AFN ,通过post请求上传图片,带请求头
- post请求和get请求的区别(文件上传)
- 如何使用Dojo提交上传文件请求
- abap-下载和上传请求包
- 利用HttpURLConnection发送post请求上传文件
- Http中响应状态码所表示的意义
- 《汇编语言》学习(十八)
- Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题
- 利用sql创建Oracle表空间和用户
- C#对象克隆
- 上传请求
- echart之全国地图切换省级地图
- 编程
- 《Javascript权威指南-第6版》读书笔记
- Activity启动过程全解析
- 手把手教你用Java搭建自己的网站
- 【Stanford|斯坦福-机器学习:线性回归-单特征梯度下降+动态图】python3实现
- 人工神经网络简介
- 【微框架】之一:从零开始,轻松搞定SpringCloud微框架系列--开山篇