Benny
Benny

Reputation: 31

access the web service and send data using iOS Objective C

I have string objects and image stored in nsdata. How can i send it to a server by accessing the url? I have seen examples .but its not working.Can someone tell me Thanks in Advance!!

Upvotes: 0

Views: 80

Answers (3)

Snowman
Snowman

Reputation: 127

Here is an example how to upload an image with string objects as a dictionary to a server using AFNetworking.

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

Upvotes: 0

Im Batman
Im Batman

Reputation: 1876

AFNetworking is the best way to do that. and there are so much tutorials out there.

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *params = @{@"username": _username.text,
                         @"password": passwordMD5
                         };
[manager POST:@"http://example.com/ws/test.php" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {

    NSLog(@"JSON: %@", responseObject); //This is the Response

    }else{

        //if you didnt get expected output then handle it here
    }




} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
     //Handle any network errors here. ex: if internet disconnected.
}];

Upvotes: 0

Snowman
Snowman

Reputation: 127

You could use AFNetworking to easily send string and image to server using url.

Here is a link of tutorial how to use AFNetworking framework.

AFNetworking Tutorial

Upvotes: 1

Related Questions