AFNetworking3.0檔案/圖片上傳
阿新 • • 發佈:2019-02-14
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];