Uploading image with AFNetworking 2.0 Uploading image with AFNetworking 2.0 ios ios

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); }];