You call a method setImageDataToSend:
with the data you want to send and then ignore it in this line:
NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"image.png"]);
You probably want to omit that line and change:
[request setHTTPBody:imageData];
to:
[request setHTTPBody:[self imageDataToSend]];