отправить изображение вместе с другими параметрами с AFNetworking
Я обновляю старый код приложения, который использовалASIHTTPRequest
сAFNetworking
, В моем случае я отправляю данныеAPI
Эти данные бывают разных типов: изображения и другие.
Вот код, который я до сих пор применяю, реализуя клиент API, запрашивая общий экземпляр, подготавливая словарь параметров и отправляя его в удаленный API:
NSMutableDictionary *params = [NSMutableDictionary dictionary];
[params setValue:@"Some value" forKey:aKey];
[[APIClient sharedInstance]
postPath:@"/post"
parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
//some logic
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//handle error
}];
Что было бы в случае, когда я хочу добавить изображение вparams
толковый словарь?
СASIHTTPRequest
Я делал следующее:
NSData *imgData = UIImagePNGRepresentation(anImage);
NSString *newStr = [anImageName stringByReplacingOccurrencesOfString:@"/"
withString:@"_"];
[request addData:imgData
withFileName:[NSString stringWithFormat:@"%@.png",newStr]
andContentType:@"image/png"
forKey:anOtherKey];
Я копался вAFNetworking
документацию и обнаружили, что они добавляют изображение вNSMutableRequest
как это:
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5);
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id formData) {
[formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
}];
Как я должен смешать это вместе аккуратным способом интегрировать данные моего изображения вAPIClient
запрос? Спасибо заранее.