Prześlij obraz za pomocą AFNetworking 2.0
Nie mogę zrozumieć, dlaczego to takie trudne. Wszystkie tutoriale i artykuły online wydają się mówić o api 1.0, która jest całkiem bezużyteczna.
Wypróbowałem kilka różnych sposobów i otrzymałem różne wyniki. Co ja robię źle?
zadanie wysyłania - wydaje się, że nie używa formularza wieloczęściowego, 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 z blokiem - wydaje się, że niczego nie dołącza
[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);
}];
prosty post - to wydaje się prawie działać ... ale nie
[self.manager POST:url
parameters:@{@"post[picture][]":data}
success:^(NSURLSessionDataTask *task, id response) {
NSLog(@"Success");
}
failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Error: %@", error);
}];
Chciałbym pracować 1, ale nie wiem, dlaczego tak nie jest.