Загрузка изображения iOS через AFNetworking 2.0

Я искал примеры для нового AFNetworking 2.0 для загрузки изображений. Но я натыкаюсь на стену и не могу понять, что не так с кодом. Итак, это код, который я использовал

NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];


AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];

NSURL *URL = [NSURL URLWithString:@"http://myserverurl.com"];

NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 

NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromData:imageData progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
    if (error) {
        NSLog(@"Error: %@", error);
    } else {
        NSLog(@"Success: %@ %@", response, responseObject);
    }
}];
[uploadTask resume];

TIA


person ordinaryman09    schedule 09.10.2013    source источник


Ответы (1)


В итоге я использовал многокомпонентный запрос

UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage];
NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
[manager POST:@"http://example.com/resources.json" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    [formData appendPartWithFormData:imageData name:@"image"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];
person ordinaryman09    schedule 09.10.2013
comment
appendPartWithFileData:imageData name:@"image" error:nil] больше не работает, наверное. Вы должны использовать: [formData appendPartWithFormData:imageData name:@"image"]; ... но у меня все равно это не работает :/ - person raistlin; 07.11.2013
comment
и почему вы вообще заморачиваетесь с fileURl, если после этого вы его не используете? - person raistlin; 07.11.2013
comment
@raistlin appendPartWithFileData тоже работал на меня. см. stackoverflow.com/a/20190352/1933185 - person jerik; 25.11.2013
comment
@raistlin Я думаю, вы имеете в виду filePath, который здесь действительно не используется. - person carbocation; 24.05.2014
comment
@ ordinaryman09 ты знаешь, как добавить значения заголовка к изображению? - person Ushan87; 29.01.2015
comment
В моем случае это сработало после добавления этого: [formData appendPartWithFileData:img_data name:@"add_file[]" fileName:@"abc.png"mimeType:@"image/png"]; - person Bhavin Ramani; 04.06.2016