Uploading image with AFNetworking 2.0
I'm not sure which part (I think that some details were missing) was responsible, but I did it finally :) here you go:
-(void)uploadPhoto{ AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://server.url"]]; NSData *imageData = UIImageJPEGRepresentation(self.avatarView.image, 0.5); NSDictionary *parameters = @{@"username": self.username, @"password" : self.password}; AFHTTPRequestOperation *op = [manager POST:@"rest.of.url" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { //do not put image inside parameters dictionary as I did, but append it! [formData appendPartWithFileData:imageData name:paramNameForImage fileName:@"photo.jpg" mimeType:@"image/jpeg"]; } success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@ ***** %@", operation.responseString, error); }]; [op start];}
Works like a charm :)
You can upload an image with AFNetworking
using Swift
like this...
let compression = 0.5 let imageData = UIImageJPEGRepresentation("image", CGFloat(compression))if imageData != nil{ var manager = AFHTTPRequestOperationManager() manager.responseSerializer.acceptableContentTypes = NSSet(array: ["text/html", "application/json"]) as Set<NSObject> var dictParams = [ "familyId":"10000", "contentBody" : "Some body content for the test application", "name" : "the name/title", "typeOfContent":"photo" ] let url = "http://...." manager.POST(url, parameters: dictParams, constructingBodyWithBlock: { (formData: AFMultipartFormData!) -> Void in //code formData.appendPartWithFileData(imageData, name: "file", fileName: "filename", mimeType: "image/png") }, success: { (operation:AFHTTPRequestOperation!, responseObject:AnyObject!) -> Void in println(responseObject) }, failure: { (operation:AFHTTPRequestOperation!, error:NSError!) -> Void in println(error) }) }
UIImage *image = [UIImage imageNamed:@"decline_clicked.png"];NSData *imageData = UIImageJPEGRepresentation(image,1);NSString *queryStringss = [NSString stringWithFormat:@"http://your server/uploadfile/"];queryStringss = [queryStringss stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];[manager POST:queryStringss parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { [formData appendPartWithFileData:imageData name:@"fileName" fileName:@"decline_clicked.png" mimeType:@"image/jpeg"]; } success:^(AFHTTPRequestOperation *operation, id responseObject) { NSDictionary *dict = [responseObject objectForKey:@"Result"]; NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@ ***** %@", operation.responseString, error); }];