Well I have no idea why you accepted that answer, it does not do what you asked for at all.
The most direct answer to your question is this, no it is not possible to trim an image data representation to a circle, they are always a rectangle.. So the next best thing is to make the parts of the image which are not inside the circle transparent.
In order for this to work properly you'll need to use a data representation which supports transparency when you get a NSData representation to upload to the server. In iOs this means using the PNG format rather than the JPG one.
Ok so here is some code that'll do it.
//i'd put this in a category on UIImage, therefore we don't need a pointer to the original image, which will be 'self'
-(UIImage *)imageCroppedToCircleOfDiameter:(CGFloat )diameter{
//most images will be rectangular, (height != width)
//so work out how it is going to scale
CGFloat scale = CGFloat(fmaxf(diameter/self.size.width, diameter/self.size.height) );
CGRect imageRct = CGRectZero; //where we'l draw the image
CGRect circleRct = CGRectZero; //where we'll 'cut' a circle from the context
circleRct.size.width = circleRct.size.height = diameter;
imageRct.size.width = self.size.width*scale;
imageRct.size.height = self.size.height*scale;
imageRct.origin.x = ((self.size.height>self.size.width)? 0.0: ((imageRct.size.height-imageRct.size.width)/2.0) );
imageRct.origin.y = ((self.size.width>self.size.height)? 0.0: ((imageRct.size.width-imageRct.size.height)/2.0) );
UIGraphicsBeginImageContextWithOptions(circleRct.size, NO, 0.0);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSaveGState(ctx);
CGContextAddEllipseInRect( ctx, circleRct);
CGContextClip(context);
[self drawInRect:imageRct];
CGContextRestoreGState(ctx);
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return result;
}