iOS(AFNetworking3.0)与后台图片文件/上传
上次提及的AFNetworking3.0的简单的请求返回son格式,这次是文件/图片上传。
昨天写后台代码(java),android端的说不知道怎么传,我就写个java测试代码验证给他看~~累。好吧,iOS端的也说请求不了(他个小年轻人比我小2,3岁吧),iOS 的代码以前是我管的,现在移交他。他自己弄半天图片老传错打不开,说是我后台代码有问题,无奈只好动手写代码也验证给他看了。
开始上代码了,
mark此AFNetworking3.0的domo写在Weimei项目上。
- 文件上传
//AFNetWorking 2.0升3.0
// 方式一 、文件上传
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.qqqqqqq.com"]]];
[request setTimeoutInterval:10.f];
[request setHTTPMethod:@"POST"];
NSURL *filePath = [NSURL fileURLWithPath:@"/Users/laiyufang/Desktop/1pic.jpg"];
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"Success: %@ %@", response, responseObject);
}
}];
[uploadTask resume];
图片上传
//AFNetWorking 2.0升3.0
// 方式二:图片上传
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
UIImage *img = [UIImage imageNamed:@"addressbook_icon"];
NSData *imageData = UIImagePNGRepresentation(img);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://w ww.qqqqqqq.com"]]];
[request setTimeoutInterval:10.f];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromData:imageData progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"Success: %@ %@", response, responseObject);
}
}];
[uploadTask resume];
要封装的自己动动手。
AFNetworking的说明