上传数据
系列导航
网络请求1 —> 概览
网络请求2 —> 请求数据
网络请求3 —> 上传数据
网络请求4 —> 下载数据以及断点续传
本来想自己写的,不用第三方框架,结果要拼接HTTP请求头部信息,真是难为人啊,这TM根本没听说过啊,翻了几个Blog结果写的都不是很清楚,很蛋疼,不知道怎么弄,等有时间在研究下把 现在写好了,上传图片传送门
#import "ViewController.h"
#import "AFNetworking.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self login];
UIButton * buton = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
buton.backgroundColor = [UIColor redColor];
[buton addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:buton];
}
-(void)click
{
NSLog(@"click");
[self upload2];
}
-(void)login
{
NSString * path = @"http://10.0.8.8/sns/my/login.php?username=kael8&password=123123123";
NSURL * url = [NSURL URLWithString:path];
NSMutableURLRequest * reuqest = [NSMutableURLRequest requestWithURL:url];
reuqest.HTTPMethod = @"POST";
NSURLSessionConfiguration * config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession * session = [NSURLSession sessionWithConfiguration:config];
NSURLSessionDataTask * task = [session dataTaskWithRequest:reuqest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"login : %@",response);
NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSLog(@"login : %@",[dict objectForKey:@"message"]);
}];
[task resume];
}
-(void)upload2
{
NSString * path = @"http://10.0.8.8/sns/my/upload_headimage.php";
AFHTTPRequestOperationManager * manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:path parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
UIImage * image = [UIImage imageNamed:@"10_7.jpg"];
NSData * data = UIImageJPEGRepresentation(image, 1.0);
[formData appendPartWithFileData:data name:@"headimage" fileName:@"10_7.jpg" mimeType:@"image/jpeg"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"%@",dict);
NSLog(@"%@",[dict objectForKey:@"message"]);
NSLog(@"%@",operation);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",error);
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end