Я не могу понять, почему это так сложно. Все учебники и статьи в Интернете, похоже, говорят об 1,0 api, что довольно бесполезно.
Я пробовал несколько разных способов и получал разные результаты. Что я делаю неправильно?
-
задача загрузки - похоже, не используется многочастная форма, wtf?
NSMutableURLRequest *request = [self.manager.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:[[NSURL URLWithString:url relativeToURL:[NSURL URLWithString:ApiBaseUrl]] absoluteString] parameters:@{} constructingBodyWithBlock:nil]; NSProgress *progress; NSURLSessionUploadTask *task = [self.manager uploadTaskWithRequest:request fromData:data progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { if (error) { NSLog(@"[error description] = %@", [error description]); } else { NSLog(@"success!"); } }]; [task resume];
-
сообщение с блоком - это, кажется, не придает ничего
[self.manager POST:url parameters:@{} constructingBodyWithBlock:^(id <AFMultipartFormData> formData) { [formData appendPartWithFileData:data name:@"post[picture]" fileName:@"picture.jpg" mimeType:@"image/jpeg"]; } success:^(NSURLSessionDataTask *task, id response) { NSLog(@"Success"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"Error: %@", error); }];
-
простая запись - кажется, почти работает... но не
[self.manager POST:url parameters:@{@"post[picture][]":data} success:^(NSURLSessionDataTask *task, id response) { NSLog(@"Success"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"Error: %@", error); }];
Мне бы очень понравилось работать, но я не уверен, почему это не так.