I can't understand why this is so hard. All the tutorials and articles online seem to be talking about the 1.0 api, which is pretty useless.
I've tried a few different ways and get different results. What am I doing wrong?
upload task - this seems to not be using a multipart form, 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];
post with a block - this seems not to attach anything
[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); }];
simple post - this seems to almost work...but not
[self.manager POST:url parameters:@{@"post[picture][]":data} success:^(NSURLSessionDataTask *task, id response) { NSLog(@"Success"); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"Error: %@", error); }];
I would love 1 to work, but I'm not sure why it doesn't.